Matthew Fernandez [Sat, 19 Jun 2021 17:00:57 +0000 (17:00 +0000)]
Merge branch 'smattr/
D1F3CA0D-DD6D-4BF9-A1BD-
E66C7465104D' into 'main'
remove inline no-op on C++ methods
See merge request graphviz/graphviz!1997
Matthew Fernandez [Sat, 12 Jun 2021 17:01:56 +0000 (10:01 -0700)]
remove inline no-op on C++ methods
Methods defined within a class definition are implied inline. Adding the inline
keyword does nothing.
Matthew Fernandez [Sat, 19 Jun 2021 16:12:49 +0000 (16:12 +0000)]
Merge branch 'smattr/
BFD57F7A-9859-46BF-BD5F-
B23085DE8BC6' into 'main'
Move back to 2.47 development series
See merge request graphviz/graphviz!2003
Matthew Fernandez [Sat, 19 Jun 2021 15:22:16 +0000 (08:22 -0700)]
Move back to 2.47 development series
Matthew Fernandez [Sat, 19 Jun 2021 15:20:05 +0000 (15:20 +0000)]
Merge branch 'smattr/
F549024C-A6AE-47C1-9904-
5537F0045FB7' into 'main'
Stable Release 2.47.3
See merge request graphviz/graphviz!1999
Matthew Fernandez [Tue, 15 Jun 2021 01:39:18 +0000 (18:39 -0700)]
Stable Release 2.47.3
Matthew Fernandez [Tue, 15 Jun 2021 01:33:47 +0000 (18:33 -0700)]
Merge branch 'smattr/
BBA63EF1-DE69-4C8D-8A81-
4043808B41FE' into smattr/
854F458D-3FCD-4F3E-802C-
1CE96AFFF00A
Matthew Fernandez [Tue, 15 Jun 2021 00:14:41 +0000 (17:14 -0700)]
add a changelog note about the prior Makefile update
Matthew Fernandez [Tue, 15 Jun 2021 00:13:08 +0000 (17:13 -0700)]
add an explanation of the semi-colon on Makefile rule
Jaroslav Škarvada [Tue, 8 Jun 2021 20:43:53 +0000 (22:43 +0200)]
gv: fixed possible races during docs build
In tclpkg/gv, the gv_doc_writer.tcl is run multiple times during
the build. It is ineffective, but it shouldn't cause any troubles
with the serial build. Unfortunately, this is not the case with
the parallel builds where multiple parallel runs of the
gv_doc_writer.tcl can cause races leading to empty corresponding
ps and pdf files.
The correct solution would be to use the Rules with Grouped Targets [1],
unfortunately this GNU make feature has been introduced quite
recently which would break backward compatibility.
The proposed hack should cause the gv_doc_writer.tcl to be run
only once during the build process and it should work also with
the older 'make'. It is inspired by [2].
[1] https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html#Multiple-Targets
[2] https://stackoverflow.com/questions/
2973445/gnu-makefile-rule-generating-a-few-targets-from-a-single-source-file
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
Matthew Fernandez [Mon, 14 Jun 2021 15:43:56 +0000 (15:43 +0000)]
Merge branch 'smattr/
BDC885F3-67C3-44D9-B4FD-
1ECA13DF98B9' into 'main'
remove Python 2 support from shapes regression test
See merge request graphviz/graphviz!1993
Matthew Fernandez [Tue, 8 Jun 2021 15:04:54 +0000 (08:04 -0700)]
remove Python 2 support from shapes regression test
Python 2 was EOLed in 2020. This change removes the ability to use Python 2 when
running the shapes test.
This is somewhat moot as the Makefile.am targets for this are not really usable
right now (see the commits merged in
7d0bd41a7ccac1d0d992e8c19ce08f62b85b16ad
that improved the situation but still did not make `make check-recursive`
runnable). Nevertheless this at least removes one legacy code path that does not
need to be worked on in future.
Related to #1992.
Matthew Fernandez [Sat, 12 Jun 2021 20:07:42 +0000 (20:07 +0000)]
Merge branch 'smattr/
DEC89243-695D-40DE-8C4D-
4E6E0B86F3BB' into 'main'
add an out-of-source build to CI
Closes #2073
See merge request graphviz/graphviz!1992
Matthew Fernandez [Sun, 6 Jun 2021 18:18:56 +0000 (11:18 -0700)]
add an out-of-source build to CI
The existing CI tasks run an uncommon work flow: building distributable packages
on each operating system. A more common work flow end users will be following
with the portable source tarball is simply building and installing it. This
change adds a job that does this, to provide a safeguard against breaking this
work flow in future.
The added job runs on Ubuntu 21.04. The intent is to bump this job to the latest
each time there is a new Ubuntu release. There is no companion test job for the
build job because we assume the existing test jobs are providing sufficient
coverage.
Closes #2073.
Matthew Fernandez [Wed, 9 Jun 2021 16:11:22 +0000 (16:11 +0000)]
Merge branch 'smattr/
10F9E4B2-C90F-40AB-882E-
D6539E12425A' into 'main'
remove some legacy Python 2 pieces
See merge request graphviz/graphviz!1985
Matthew Fernandez [Thu, 3 Jun 2021 03:18:31 +0000 (20:18 -0700)]
remove useless --disable-python2* options in Debian rules
These options were removed in
3caeb0ae2a38fdefb9f302f41407f5038e374010 but were
not removed from this file. Related to #1992.
Matthew Fernandez [Thu, 3 Jun 2021 03:15:36 +0000 (20:15 -0700)]
remove some commented out Python 2 related lines
Related to #1992.
Matthew Fernandez [Thu, 3 Jun 2021 00:14:32 +0000 (17:14 -0700)]
remove clean up steps of legacy Python bindings
The rules that generated these bindings were all removed in
3caeb0ae2a38fdefb9f302f41407f5038e374010 but the clean up steps were incorrectly
not removed at the same time. Related to #1992.
Matthew Fernandez [Wed, 9 Jun 2021 15:23:32 +0000 (15:23 +0000)]
Merge branch 'smattr/
BFC39166-455E-4565-A0D3-
7C3204CB7227' into 'main'
clean up of casts surrounding allocation functions
See merge request graphviz/graphviz!1986
Matthew Fernandez [Fri, 4 Jun 2021 00:26:07 +0000 (17:26 -0700)]
remove an unnecessary NULL guard on a call to free
Calling free on NULL is a well-defined no-op.
Matthew Fernandez [Fri, 4 Jun 2021 00:25:37 +0000 (17:25 -0700)]
remove char* casts of results of the agstrdup functions
These functions already return a char*.
Matthew Fernandez [Fri, 4 Jun 2021 00:24:33 +0000 (17:24 -0700)]
remove unnecessary allocation function result casts in scan.l
This input is only used to create a lexer in C. In C, void pointers (as is the
result of realloc) implicitly coerce to all other pointer types.
Matthew Fernandez [Fri, 4 Jun 2021 00:23:30 +0000 (17:23 -0700)]
remove unnecessary casts of allocation function results in grammar.y
This input is only used to generate a parser in C. In C, void pointers (as are
the results of all the allocation functions) implicitly coerce to all other
pointer types.
Matthew Fernandez [Fri, 4 Jun 2021 00:23:12 +0000 (17:23 -0700)]
rephrase an open coded NULL in pathpath
Matthew Fernandez [Fri, 4 Jun 2021 00:22:20 +0000 (17:22 -0700)]
remove unnecessary casts of allocation results in mklang.y
This input is only used to generate a C file. In C, void pointers (as are the
results of all the allocation functions) implicitly coerce to all other pointer
types.
Matthew Fernandez [Fri, 4 Jun 2021 00:21:07 +0000 (17:21 -0700)]
remove unnecessary realloc result cast in gmlscan.l
This input is only used to generate a lexer in C. In C, void pointers (as is the
result of realloc) implicitly coerce to all other pointer types.
Matthew Fernandez [Fri, 4 Jun 2021 00:19:55 +0000 (17:19 -0700)]
remove unnecessary casts of allocation results in gmlparse.y
These functions all return void pointers and this input is only used for
generating a parser in C. In C, void pointers implicitly coerce to all other
pointers.
Matthew Fernandez [Fri, 4 Jun 2021 00:19:13 +0000 (17:19 -0700)]
remove unnecessary strdup casts in Lefty’s yylex
strdup already returns a char*.
Matthew Fernandez [Wed, 9 Jun 2021 04:51:20 +0000 (04:51 +0000)]
Merge branch 'smattr/
8b1de17e-74b1-4c8e-bbe9-
3129d1be5c05' into 'main'
more clean up in lib/common
See merge request graphviz/graphviz!1989
Matthew Fernandez [Sat, 5 Jun 2021 02:29:04 +0000 (19:29 -0700)]
remove unused boxf_intersect
Matthew Fernandez [Sat, 5 Jun 2021 02:28:46 +0000 (19:28 -0700)]
remove unused box_intersect
Matthew Fernandez [Sat, 5 Jun 2021 02:28:04 +0000 (19:28 -0700)]
remove unused boxf_bb
Matthew Fernandez [Sat, 5 Jun 2021 02:27:41 +0000 (19:27 -0700)]
remove unused box_bb
Matthew Fernandez [Sat, 5 Jun 2021 02:26:55 +0000 (19:26 -0700)]
remove unused mid_point
Matthew Fernandez [Sat, 5 Jun 2021 02:25:39 +0000 (19:25 -0700)]
remove unused pointof
Matthew Fernandez [Sat, 5 Jun 2021 02:21:37 +0000 (19:21 -0700)]
remove unused mkboxf
Matthew Fernandez [Sat, 5 Jun 2021 02:21:13 +0000 (19:21 -0700)]
remove unused mkbox
Matthew Fernandez [Sat, 5 Jun 2021 02:18:59 +0000 (19:18 -0700)]
remove commented out code in utils.c
Matthew Fernandez [Sat, 5 Jun 2021 02:15:30 +0000 (19:15 -0700)]
remove unused ninf
Matthew Fernandez [Sat, 5 Jun 2021 02:14:56 +0000 (19:14 -0700)]
remove unused ginf
Matthew Fernandez [Sat, 5 Jun 2021 02:14:24 +0000 (19:14 -0700)]
remove unused einf
Matthew Fernandez [Wed, 9 Jun 2021 03:59:00 +0000 (03:59 +0000)]
Merge branch 'smattr/
620cd9c7-3460-4a55-9a95-
9d5459bef712' into 'main'
more clean up in lib/glcomp
See merge request graphviz/graphviz!1990
Matthew Fernandez [Sun, 6 Jun 2021 00:01:38 +0000 (17:01 -0700)]
remove unused glCompImageMouseUp
Matthew Fernandez [Sun, 6 Jun 2021 00:01:13 +0000 (17:01 -0700)]
remove unused glCompImageMouseOver
Matthew Fernandez [Sun, 6 Jun 2021 00:00:42 +0000 (17:00 -0700)]
remove unused glCompImageMouseOut
Matthew Fernandez [Sun, 6 Jun 2021 00:00:16 +0000 (17:00 -0700)]
remove unused glCompImageMouseIn
Matthew Fernandez [Sat, 5 Jun 2021 23:59:44 +0000 (16:59 -0700)]
remove unused glCompImageMouseDown
Matthew Fernandez [Sat, 5 Jun 2021 23:59:16 +0000 (16:59 -0700)]
remove unused glCompImageDoubleClick
Matthew Fernandez [Sat, 5 Jun 2021 23:58:44 +0000 (16:58 -0700)]
remove unused glCompImageClick
Matthew Fernandez [Sat, 5 Jun 2021 23:55:34 +0000 (16:55 -0700)]
remove commented out glcompfont code
Matthew Fernandez [Sat, 5 Jun 2021 23:54:29 +0000 (16:54 -0700)]
remove unused glCompGetObjectType
Matthew Fernandez [Sat, 5 Jun 2021 23:53:20 +0000 (16:53 -0700)]
remove unused glcompsetGetGroupId
Matthew Fernandez [Sat, 5 Jun 2021 23:52:44 +0000 (16:52 -0700)]
remove unused glcompsetNextGroupId
Matthew Fernandez [Sat, 5 Jun 2021 23:51:00 +0000 (16:51 -0700)]
remove prototype for non-existent glCompSetRelease
This function was removed in
9a9cfd4e90775aa14a11a0db6745783f3a59ef56.
Matthew Fernandez [Sat, 5 Jun 2021 23:50:17 +0000 (16:50 -0700)]
remove prototype for non-existent glCompSetClick
This function was removed in
9a9cfd4e90775aa14a11a0db6745783f3a59ef56.
Matthew Fernandez [Sat, 5 Jun 2021 23:49:25 +0000 (16:49 -0700)]
remove prototype for non-existent glCompSetHide
This function was removed in
9a9cfd4e90775aa14a11a0db6745783f3a59ef56.
Matthew Fernandez [Sat, 5 Jun 2021 23:48:08 +0000 (16:48 -0700)]
remove prototype for non-existent glCompSetShow
This function was removed in
9a9cfd4e90775aa14a11a0db6745783f3a59ef56.
Matthew Fernandez [Wed, 9 Jun 2021 03:05:46 +0000 (03:05 +0000)]
Merge branch 'smattr/
85FB336B-AC8F-457F-A909-
3140D5898CFF' into 'main'
remove Python 2 support
Closes #1992
See merge request graphviz/graphviz!1987
Matthew Fernandez [Thu, 3 Jun 2021 00:20:18 +0000 (17:20 -0700)]
remove support for Python 2
Python 2 was EOLed in 2020. This change removes support for building Graphviz
bindings for Python 2, as well as build system detection of Python 2. The
targets for `python` as distinct from `python3` are left in place for
environments for which the former is their name for Python 3.
Closes #1992.
Matthew Fernandez [Fri, 4 Jun 2021 15:35:49 +0000 (08:35 -0700)]
fix Python.h discovery on Ubuntu 18.04 in CI
The Autotools build system looks for the C header Python.h to determine the
include path for the local Python installation. However, on Ubuntu 18.04 it was
not finding it. The reason is that the libpython3-dev package on Ubuntu 18.04
installs Python 3.6 under a “python3.6m” prefix that it does not add to C/C++
include paths. This seems to be a deliberate choice in the structure of this
package for Ubuntu 18.04, to avoid conflicts with default Python 2.
A reasonable question to ask is then why Python 3 detection succeeds on the CI
Ubuntu 18.04 jobs. The answer is that libpython2-dev is installed. That is, the
Python 3 detection finds the Python.h from the libpython2-dev installation and
incorrectly assumes it has found the Python 3 header. This confusion may play a
role in #227 and #1042.
This coincidental alignment of headers is exposed when libpython2-dev is removed
and Python 3 detection starts failing. This commit pre-empts this failure in
upcoming changes that remove Python 2 support by explicitly making the Python 3
Python.h findable. Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 20:40:03 +0000 (13:40 -0700)]
remove PYTHON variable in Fedora/RHEL/CentOS packaging
This is now false for all operating systems. Across all supported versions of
Fedora, RHEL, and CentOS Python 2 and Python 3 have consistent package names. So
there is no need to deal in the ambiguous Python names with no version number.
Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 20:37:53 +0000 (13:37 -0700)]
remove RHEL/CentOS packaging overrides for Python
These values are now the same as the default Fedora settings preceding them, so
there is no need for RHEL-/CentOS-specific values here. Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 20:07:40 +0000 (13:07 -0700)]
set enabled Python bindings uniformly on RHEL/CentOS
0af0dc91894f2598f0e19e3cd2c1b34925c9cd61 introduced a workaround for Python
packages changing names. This was relevant in the era of CentOS 6. However, now
Graphviz no longer supports CentOS 6 and furthermore CentOS 7 has converged on
the same naming as CentOS 8. As a result, the Graphviz packaging work flow was
actually *disabling* Python 3 bindings and enabling Python 2 bindings on CentOS
7.
This change unifies which Python bindings are enabled across RHEL and CentOS
versions. Though an upcoming change will remove support for the Python 2
bindings altogether. Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 19:59:13 +0000 (12:59 -0700)]
remove useless juggling of CPPFLAGS in Python 2 detection
This was copied from the unified Python support in
32466ecc452102a1fc84f4331c0ed099da4e7edc without noticing Python 2 needs no
tweaking of the CPPFLAGS. Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 19:25:56 +0000 (12:25 -0700)]
remove some useless Python 3 version testing
Python 3’s major version is, by definition, 3. These tests were copied from
the unified Python support in
32466ecc452102a1fc84f4331c0ed099da4e7edc with
seemingly not much consideration of what their intent was. Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 19:23:11 +0000 (12:23 -0700)]
remove some useless Python 2 version testing
Python 2’s major version is, by definition, 2. These tests were copied from
the unified Python support in
32466ecc452102a1fc84f4331c0ed099da4e7edc with
seemingly not much consideration of what their intent was. Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 18:25:33 +0000 (11:25 -0700)]
remove unused PYTHON3_VERSION_SHORT configuration variable
32466ecc452102a1fc84f4331c0ed099da4e7edc replicated this from the unified Python
support without noticing it is unused in the Python 3 case.
Matthew Fernandez [Sat, 5 Jun 2021 18:24:40 +0000 (11:24 -0700)]
remove unused PYTHON2_VERSION_SHORT configuration variable
32466ecc452102a1fc84f4331c0ed099da4e7edc replicated this from the unified Python
support without noticing that it is unused in the Python 2 case.
Matthew Fernandez [Sat, 5 Jun 2021 18:20:34 +0000 (11:20 -0700)]
fix typo in error message when failing to find Python 2 install dir
32466ecc452102a1fc84f4331c0ed099da4e7edc replicated the unified Python bindings
support into Python 2 and Python 3 cases. However, it incorrectly used the
Python 3 variable in this error message instead of the Python 2 variable.
Related to #1992.
Matthew Fernandez [Fri, 4 Jun 2021 00:16:49 +0000 (17:16 -0700)]
remove unused PYTHON._PREFIX config variables
These were copy-pasted from the generic Python support in
32466ecc452102a1fc84f4331c0ed099da4e7edc without noticing that they are unused
in the way Python 2 and 3 detection is written. Related to #1992.
Matthew Fernandez [Sat, 5 Jun 2021 17:38:32 +0000 (10:38 -0700)]
add a note to developer guide about PYTHONPATH
The test suite does not currently rely on the installed Graphviz Python bindings
being findable and usable. However in future test cases may be introduced that
do. This change future proofs the instructions against an update like this.
Related to #1992.
Matthew Fernandez [Wed, 9 Jun 2021 01:18:42 +0000 (01:18 +0000)]
Merge branch 'smattr/
6cd14a22-19aa-4269-a1b9-
b84287cb76bf' into 'main'
more clean up in lib/pathplan
See merge request graphviz/graphviz!1991
Matthew Fernandez [Sun, 6 Jun 2021 02:33:46 +0000 (19:33 -0700)]
use a stronger return type in directVis
Matthew Fernandez [Sun, 6 Jun 2021 02:31:52 +0000 (19:31 -0700)]
use a stronger return type for clear
Matthew Fernandez [Sun, 6 Jun 2021 02:31:02 +0000 (19:31 -0700)]
use a stronger return type for in_cone and inCone
Matthew Fernandez [Sun, 6 Jun 2021 02:29:48 +0000 (19:29 -0700)]
use a stronger return type for INTERSECT
Matthew Fernandez [Sun, 6 Jun 2021 02:28:47 +0000 (19:28 -0700)]
make intersect static
This function is not used outside of its containing file.
Matthew Fernandez [Sun, 6 Jun 2021 02:23:52 +0000 (19:23 -0700)]
use a stronger return type for inBetween
Matthew Fernandez [Sun, 6 Jun 2021 02:22:52 +0000 (19:22 -0700)]
remove unnecessary bracketing in visibility.c
Matthew Fernandez [Sun, 6 Jun 2021 02:22:14 +0000 (19:22 -0700)]
remove an open coded NULL
Matthew Fernandez [Sun, 6 Jun 2021 02:07:10 +0000 (19:07 -0700)]
use more modern #pragma once guards in lib/pathplan
Matthew Fernandez [Sun, 6 Jun 2021 02:02:29 +0000 (19:02 -0700)]
remove unused NEQ
Matthew Fernandez [Sun, 6 Jun 2021 02:01:14 +0000 (19:01 -0700)]
remove unused CW
Matthew Fernandez [Sun, 6 Jun 2021 02:01:01 +0000 (19:01 -0700)]
remove unused CCW
Matthew Fernandez [Sun, 6 Jun 2021 01:59:50 +0000 (18:59 -0700)]
remove unused OBSCURED
Matthew Fernandez [Sun, 6 Jun 2021 01:58:45 +0000 (18:58 -0700)]
remove unused freepoly
Matthew Fernandez [Sun, 6 Jun 2021 01:58:01 +0000 (18:58 -0700)]
remove unused copypoly
Matthew Fernandez [Sun, 6 Jun 2021 18:52:19 +0000 (18:52 +0000)]
Merge branch 'smattr/
3931cfd4-1c69-45b6-8aac-
0d7b0f38d47b' into 'main'
clean up in lib/sparse
See merge request graphviz/graphviz!1983
Matthew Fernandez [Mon, 31 May 2021 16:48:54 +0000 (09:48 -0700)]
remove unused SparseMatrix_delete_sparse_columns
Matthew Fernandez [Mon, 31 May 2021 16:47:55 +0000 (09:47 -0700)]
remove unused SparseMatrix_delete_empty_columns
Matthew Fernandez [Mon, 31 May 2021 16:46:45 +0000 (09:46 -0700)]
remove unused SparseMatrix_largest_component
Matthew Fernandez [Mon, 31 May 2021 16:45:59 +0000 (09:45 -0700)]
remove unused SparseMatrix_exclude_submatrix
Matthew Fernandez [Mon, 31 May 2021 16:42:47 +0000 (09:42 -0700)]
remove unused SparseMatrix_connectedQ
Matthew Fernandez [Mon, 31 May 2021 16:41:52 +0000 (09:41 -0700)]
remove unused SparseMatrix_pseudo_diameter_only
Matthew Fernandez [Mon, 31 May 2021 16:38:20 +0000 (09:38 -0700)]
remove unused SparseMatrix_crop
Matthew Fernandez [Mon, 31 May 2021 16:37:11 +0000 (09:37 -0700)]
remove unused SparseMatrix_apply_fun_general
Matthew Fernandez [Mon, 31 May 2021 16:35:45 +0000 (09:35 -0700)]
remove unused SparseMatrix_normalize_by_row
Matthew Fernandez [Mon, 31 May 2021 16:34:45 +0000 (09:34 -0700)]
remove unused SparseMatrix_normalize_to_rowsum1
Matthew Fernandez [Mon, 31 May 2021 16:20:41 +0000 (09:20 -0700)]
abbreviate open coded fmax/fmin in limitBoxes
Matthew Fernandez [Sat, 5 Jun 2021 19:02:12 +0000 (19:02 +0000)]
Merge branch 'smattr/
67e74e7b-a7dd-4ac1-b503-
e1721198551c' into 'main'
clean up in lib/pathplan
See merge request graphviz/graphviz!1982