]> granicus.if.org Git - graphviz/log
graphviz
3 years agosmyrna: remove unused 'visibility' refresh filter field
Matthew Fernandez [Sun, 7 Nov 2021 00:06:49 +0000 (17:06 -0700)]
smyrna: remove unused 'visibility' refresh filter field

3 years agosmyrna: remove unused camera 'index' field
Matthew Fernandez [Sun, 7 Nov 2021 00:03:21 +0000 (17:03 -0700)]
smyrna: remove unused camera 'index' field

3 years agosmyrna: remove unused 'type' camera field
Matthew Fernandez [Sun, 7 Nov 2021 00:01:50 +0000 (17:01 -0700)]
smyrna: remove unused 'type' camera field

3 years agosmyrna: remove unused 'temp'
Matthew Fernandez [Sat, 6 Nov 2021 23:59:10 +0000 (16:59 -0700)]
smyrna: remove unused 'temp'

3 years agosmyrna: remove unused graph data 'Modified' field
Matthew Fernandez [Sat, 6 Nov 2021 23:54:44 +0000 (16:54 -0700)]
smyrna: remove unused graph data 'Modified' field

3 years agosmyrna: remove unused graph data offset fields
Matthew Fernandez [Sat, 6 Nov 2021 23:54:01 +0000 (16:54 -0700)]
smyrna: remove unused graph data offset fields

3 years agosmyrna: remove unused edge 'printLabel' field
Matthew Fernandez [Sat, 6 Nov 2021 23:50:41 +0000 (16:50 -0700)]
smyrna: remove unused edge 'printLabel' field

3 years agosmyrna: remove unused edge 'visible' fields
Matthew Fernandez [Sat, 6 Nov 2021 23:49:25 +0000 (16:49 -0700)]
smyrna: remove unused edge 'visible' fields

3 years agosmyrna: remove unused OD macros
Matthew Fernandez [Sat, 6 Nov 2021 23:46:10 +0000 (16:46 -0700)]
smyrna: remove unused OD macros

3 years agosmyrna: remove unused 'xdot_set'
Matthew Fernandez [Sat, 6 Nov 2021 23:45:12 +0000 (16:45 -0700)]
smyrna: remove unused 'xdot_set'

3 years agoMerge branch 'smattr/76717b9c-884a-4d8e-bd93-d9386982d2ae' into 'main'
Matthew Fernandez [Wed, 10 Nov 2021 03:40:58 +0000 (03:40 +0000)]
Merge branch 'smattr/76717b9c-884a-4d8e-bd93-d9386982d2ae' into 'main'

fix mismatch of calling conventions in delaunay.c

See merge request graphviz/graphviz!2271

3 years agodelaunay.c: remove unnecessary parens
Matthew Fernandez [Sun, 7 Nov 2021 20:23:18 +0000 (12:23 -0800)]
delaunay.c: remove unnecessary parens

3 years agomkSurface: fix mismatch of calling convention in 'addFace'
Matthew Fernandez [Sun, 7 Nov 2021 20:12:53 +0000 (12:12 -0800)]
mkSurface: fix mismatch of calling convention in 'addFace'

The compiler said about this code:

  delaunay.c:484:34: warning: cast between incompatible function types from
    ‘void (*)(GFace *, fstate *)’ {aka ‘void (*)(struct <anonymous> *, struct
    <anonymous> *)’} to ‘gint (*)(void *, void *)’ {aka ‘int (*)(void *,
    void *)’} [-Wcast-function-type]
       gts_surface_foreach_face (s, (GtsFunc) addFace, &statf);
                                    ^

Similar to the prior commit, this was relying on a coincident return value of 0
from the callback function.

3 years agoget_triangles: fix mismatch of calling convention in 'addTri'
Matthew Fernandez [Sun, 7 Nov 2021 20:07:00 +0000 (12:07 -0800)]
get_triangles: fix mismatch of calling convention in 'addTri'

The compiler said about this code:

  delaunay.c:518:34: warning: cast between incompatible function types from
    ‘void (*)(GFace *, fstate *)’ {aka ‘void (*)(struct <anonymous> *, struct
    <anonymous> *)’} to ‘gint (*)(void *, void *)’ {aka
    ‘int (*)(void *, void *)’} [-Wcast-function-type]
       gts_surface_foreach_face (s, (GtsFunc) addTri, &statf);
                                    ^

Similar to the prior commit, this was relying on a coincident return value of 0
from the callback function.

3 years agomkSurface/get_triangles: fix mismatch of calling convention in 'cntFace'
Matthew Fernandez [Sun, 7 Nov 2021 20:01:23 +0000 (12:01 -0800)]
mkSurface/get_triangles: fix mismatch of calling convention in 'cntFace'

The compiler said about this code:

  delaunay.c:477:34: warning: cast between incompatible function types from
    ‘void (*)(GFace *, int *)’ {aka ‘void (*)(struct <anonymous> *, int *)’} to
    ‘gint (*)(void *, void *)’ {aka ‘int (*)(void *, void *)’}
    [-Wcast-function-type]
       gts_surface_foreach_face (s, (GtsFunc) cntFace, &nfaces);
                                    ^

Similar to the prior commit, this was relying on a coincident return value of 0
from the callback function.

3 years agodelaunay_tri/mkSurface: fix mismatch of calling convention in 'addEdge'
Matthew Fernandez [Sun, 7 Nov 2021 19:55:50 +0000 (11:55 -0800)]
delaunay_tri/mkSurface: fix mismatch of calling convention in 'addEdge'

The compiler said about this code:

  delaunay.c:355:31: warning: cast between incompatible function types from
    ‘void (*)(GtsSegment *, estate *)’ {aka ‘void (*)(struct _GtsSegment *,
    struct <anonymous> *)’} to ‘gint (*)(void *, void *)’ {aka
    ‘int (*)(void *, void *)’} [-Wcast-function-type]
    gts_surface_foreach_edge (s, (GtsFunc) addEdge, &state);
                                 ^

Similar to the prior commit, this was relying on a coincident return value of 0
from the callback function.

3 years agoaddFace: fix mismatch of calling convention in callback
Matthew Fernandez [Sun, 7 Nov 2021 19:40:52 +0000 (11:40 -0800)]
addFace: fix mismatch of calling convention in callback

The compiler said about this code:

  delaunay.c: In function ‘addFace’:
  delaunay.c:428:48: warning: cast between incompatible function types from
    ‘void (*)(GFace *, ninfo *)’ {aka ‘void (*)(struct <anonymous> *, struct
    <anonymous> *)’} to ‘gint (*)(void *, void *)’ {aka ‘int (*)(void *,
    void *)’} [-Wcast-function-type]
       gts_face_foreach_neighbor ((GtsFace*)f, 0, (GtsFunc) addNeighbor, &ni);
                                                  ^

Similar to the prior commit, this was relying on a coincident return value of 0
from the callback function.

3 years agodelaunay_triangulation: fix mismatch of calling convention in callback
Matthew Fernandez [Sun, 7 Nov 2021 19:25:21 +0000 (11:25 -0800)]
delaunay_triangulation: fix mismatch of calling convention in callback

The compiler said about this code:

  delaunay.c:286:34: warning: cast between incompatible function types from
    ‘void (*)(GtsSegment *, v_data *)’ {aka ‘void (*)(struct _GtsSegment *,
    struct <anonymous> *)’} to ‘gint (*)(void *, void *)’ {aka
    ‘int (*)(void *, void *)’} [-Wcast-function-type]
       gts_surface_foreach_edge (s, (GtsFunc) add_edge, delaunay);
                                    ^

Similar to the prior commit, this was relying on a coincident return value of 0
from the callback function.

3 years agogts_surface_foreach_edge: fix mismatch of calling convention in callback
Matthew Fernandez [Sun, 7 Nov 2021 19:20:08 +0000 (11:20 -0800)]
gts_surface_foreach_edge: fix mismatch of calling convention in callback

The compiler said about this code:

  delaunay.c: In function ‘edgeStats’:
  delaunay.c:245:34: warning: cast between incompatible function types from
    ‘void (*)(GtsSegment *, estats *)’ {aka ‘void (*)(struct _GtsSegment *,
    struct <anonymous> *)’} to ‘gint (*)(void *, void *)’ {aka
    ‘int (*)(void *, void *)’} [-Wcast-function-type]
       gts_surface_foreach_edge (s, (GtsFunc) cnt_edge, sp);
                                    ^

This is not quite as bad as the previous instance of this fixed. However, it
seems to have been relying on a coincident return value. E.g. on x86-64 this
code relies on 0 ending up in `RAX` at the end of the callback to indicate
iteration should continue, despite `cnt_edge` having no declared return value.

3 years agotri: remove shadowing of 'v1'
Matthew Fernandez [Sun, 7 Nov 2021 19:12:53 +0000 (11:12 -0800)]
tri: remove shadowing of 'v1'

3 years agodelaunay_triangulation: make static
Matthew Fernandez [Sun, 7 Nov 2021 19:05:41 +0000 (11:05 -0800)]
delaunay_triangulation: make static

This function is not used outside of its containing file.

3 years agodelaunay_remove_holes: fix mismatch of calling convention in callback
Matthew Fernandez [Sun, 7 Nov 2021 18:54:58 +0000 (10:54 -0800)]
delaunay_remove_holes: fix mismatch of calling convention in callback

The compiler said about this code:

  delaunay.c: In function ‘delaunay_remove_holes’:
  delaunay.c:45:9: warning: cast between incompatible function types from
    ‘gboolean (*)(GtsTriangle *)’ {aka ‘int (*)(struct _GtsTriangle *)’}
    to ‘gint (*)(void *, void *)’ {aka ‘int (*)(void *, void *)’}
    [-Wcast-function-type]
         (GtsFunc) triangle_is_hole, NULL);

This warning is not spurious. In particular, the mismatch in the number of
arguments passed to the callback means the callback function has a different
calling convention than expected by the code calling it. The result of this can
be stack corruption or incorrect interpretation of function arguments.

In practice, all major native calling conventions use registers for both
function types, so this is somewhat benign. However, this likely caused problems
on stack-based environments like WASM and JITs.

3 years agoMerge branch 'smattr/08BD9B6E-60A9-44CE-A4F8-7AFA9DBF563C' into 'main'
Matthew Fernandez [Wed, 10 Nov 2021 02:16:14 +0000 (02:16 +0000)]
Merge branch 'smattr/08BD9B6E-60A9-44CE-A4F8-7AFA9DBF563C' into 'main'

remove 'COLLECTION' from the packaging hierarchy

Closes #2148

See merge request graphviz/graphviz!2270

3 years agogenerate_configuration_table.py: standardize on string with double quoting
Matthew Fernandez [Sun, 7 Nov 2021 04:11:20 +0000 (21:11 -0700)]
generate_configuration_table.py: standardize on string with double quoting

3 years agoremove 'COLLECTION' from the packaging hierarchy
Matthew Fernandez [Sun, 7 Nov 2021 00:26:48 +0000 (17:26 -0700)]
remove 'COLLECTION' from the packaging hierarchy

Each Graphviz version has a notion of “collection,” which traditionally could be
the values “stable” or “development.” The semantically versioned releases that
are published to the website are considered stable. The inter-release packages
that the deploy.py script still uploads to the Gitlab package repository are
considered development. gen_version.py knows how to determine the collection of
a version during build.

Additionally .gitlab-ci.yml knew of another collection value, “experimental,” of
which gen_version.py was unaware. It would manually tweak the collection to this
for certain non-mainstream builds.

deploy.py knows nothing of this notion of collections.

The combined effect of the above has led to some negative outcomes:

  1. Published releases include a mixture of files labelled “stable” and files
     labelled “experimental.” It is not clear to the general public what either
     of these labels mean or how they differ.

  2. In recent times, “development” versions are no more or less stable than
     “stable” versions. The terminology here unfortunately has become
     inaccurate.

  3. The directory hierarchy for published releases has included an extra level
     for collection. If deployment worked as intended, this would be redundant
     as every release artifact would be “stable.” However, as discussed above,
     the deployment script actually publishes “experimental” artifacts as well.

To reduce confusion and simplify build and packaging going forwards, this change
removes the notion of collection. The generated COLLECTION file is no longer
produced and users should have no need to be aware of this concept.
gen_version.py still internally knows the idea of collections to distinguish
published release version numbers from inter-release version numbers. But this
is no longer exposed to the rest of the build system and packaging.

The notion of “experimental” as a collection value is completely removed.

Closes #2148.

3 years agoMerge branch 'smattr/208872FD-6BD8-41F6-9998-65B8BB0DE5DF' into 'main'
Matthew Fernandez [Tue, 9 Nov 2021 17:14:23 +0000 (17:14 +0000)]
Merge branch 'smattr/208872FD-6BD8-41F6-9998-65B8BB0DE5DF' into 'main'

some cleanup of CI scripts

See merge request graphviz/graphviz!2266

3 years agostandardize on '/usr/bin/env bash' shebang for CI scripts
Matthew Fernandez [Tue, 2 Nov 2021 14:56:05 +0000 (07:56 -0700)]
standardize on '/usr/bin/env bash' shebang for CI scripts

This is slightly more portable (e.g. on FreeBSD Bash does not live at
/bin/bash). The previous shebang was fine on all the operating systems we
currently support, but this adds robustness as we expand CI coverage.

3 years agouse specific Bash shebang on CI package install script
Matthew Fernandez [Tue, 2 Nov 2021 14:54:36 +0000 (07:54 -0700)]
use specific Bash shebang on CI package install script

This script does not use any Bashisms as far as I can tell, but we rely on Bash
elsewhere for shell scripts so may as well standardize on this here.

3 years agoenable Lefty in out-of-source build CI job
Matthew Fernandez [Tue, 2 Nov 2021 14:51:52 +0000 (07:51 -0700)]
enable Lefty in out-of-source build CI job

Commit d64b75d2704bd3ed47b3f74c0686e19ca74e65fc explicitly enabled Lefty in
several places in preparation for it becoming disabled by default. However, it
accidentally missed the out-of-source build.

3 years agoMerge branch 'smattr/e8ff6515-8dc2-4cb1-8362-3a9cb35d0b4e' into 'main'
Matthew Fernandez [Tue, 9 Nov 2021 16:11:15 +0000 (16:11 +0000)]
Merge branch 'smattr/e8ff6515-8dc2-4cb1-8362-3a9cb35d0b4e' into 'main'

gvconfig.c: remove remaining compiler warnings

See merge request graphviz/graphviz!2265

3 years agogvconfig.c: remove shadowing of 'path'
Matthew Fernandez [Wed, 3 Nov 2021 04:28:44 +0000 (21:28 -0700)]
gvconfig.c: remove shadowing of 'path'

3 years agogvconfig: squash some further -Wsign-conversion warnings
Matthew Fernandez [Wed, 3 Nov 2021 04:15:54 +0000 (21:15 -0700)]
gvconfig: squash some further -Wsign-conversion warnings

3 years agogvconfig: more precise error messages about config file reading
Matthew Fernandez [Wed, 3 Nov 2021 03:53:02 +0000 (20:53 -0700)]
gvconfig: more precise error messages about config file reading

3 years agogvconfig: squash a -Wsign-conversion warning
Matthew Fernandez [Wed, 3 Nov 2021 03:48:25 +0000 (20:48 -0700)]
gvconfig: squash a -Wsign-conversion warning

3 years agoremove file size limit on GVC config
Matthew Fernandez [Wed, 3 Nov 2021 03:44:51 +0000 (20:44 -0700)]
remove file size limit on GVC config

While it is probably not a good idea to have a GVC config that is 100000 bytes,
I see no reason it should be arbitrarily rejected. In future, it might be a good
idea to make `gvconfig_plugin_install_from_config` accept a file pointer instead
of a string and read/parse the config file incrementally. If this were done,
then there would probably be no issue at all with large configs.

3 years agogvconfig.c: remove commented out code
Matthew Fernandez [Wed, 3 Nov 2021 03:30:56 +0000 (20:30 -0700)]
gvconfig.c: remove commented out code

3 years agogvconfig.c: realign alternative for 'glob' with POSIX
Matthew Fernandez [Wed, 3 Nov 2021 03:27:11 +0000 (20:27 -0700)]
gvconfig.c: realign alternative for 'glob' with POSIX

If the `glob` system function¹ is available, it is used in this code. If not (on
Windows), an alternative static function is provided. The POSIX spec mandates
only three members of the `glob_t` struct, `gl_pathc`, `gl_pathv`, and
`gl_offs`. This commit realigns the members with their types in the POSIX spec.
This squashes some -Wsign-compare warnings on POSIX platforms.

¹ https://pubs.opengroup.org/onlinepubs/007908799/xsh/glob.html

3 years agoglob_t: remove unused struct members
Matthew Fernandez [Tue, 9 Nov 2021 15:07:08 +0000 (07:07 -0800)]
glob_t: remove unused struct members

3 years agoMerge branch 'smattr/A523AC37-482C-4A41-A93E-12ED3514F173' into 'main'
Matthew Fernandez [Mon, 8 Nov 2021 05:04:37 +0000 (05:04 +0000)]
Merge branch 'smattr/A523AC37-482C-4A41-A93E-12ED3514F173' into 'main'

more header guard modernization

See merge request graphviz/graphviz!2263

3 years agolib/dotgen: replace header guards with more modern #pragma once
Matthew Fernandez [Tue, 2 Nov 2021 03:59:57 +0000 (20:59 -0700)]
lib/dotgen: replace header guards with more modern #pragma once

3 years agolib/topfish: replace header guards with more modern #pragma once
Matthew Fernandez [Tue, 2 Nov 2021 03:57:10 +0000 (20:57 -0700)]
lib/topfish: replace header guards with more modern #pragma once

3 years agolib/rbtree: replace header guards with more modern #pragma once
Matthew Fernandez [Tue, 2 Nov 2021 03:56:06 +0000 (20:56 -0700)]
lib/rbtree: replace header guards with more modern #pragma once

3 years agoMerge branch 'smattr/gitlab-2153' into 'main'
Matthew Fernandez [Mon, 8 Nov 2021 03:58:22 +0000 (03:58 +0000)]
Merge branch 'smattr/gitlab-2153' into 'main'

fix: exclude cmd/smyrna when Smyrna is disabled during build, and cmd/lefty when Lefty is disabled during build

Closes #2153

See merge request graphviz/graphviz!2262

3 years agofix: exclude cmd/smyrna when Smyrna is disabled during build
Matthew Fernandez [Tue, 2 Nov 2021 00:04:42 +0000 (17:04 -0700)]
fix: exclude cmd/smyrna when Smyrna is disabled during build

Similar to the situation just fixed with Lefty, when Smyrna was disabled
(`--with-smyrna=no` passed to the build system), several Smyrna related
artifacts would still be built and installed. We now exclude the entire Smyrna
subdirectory, which should be less error prone.

Related to #2153.

3 years agofix: do not ship smyrna.pdf when Smyrna is not being built
Matthew Fernandez [Tue, 2 Nov 2021 00:04:41 +0000 (17:04 -0700)]
fix: do not ship smyrna.pdf when Smyrna is not being built

Similar to prior fixes for Lefty, Smyrna artifacts were not adequately guarded
to prevent them being built and installed when Smyrna is disabled.

Related to #2153.

3 years agofix: exclude cmd/lefty when Lefty is disabled during build
Matthew Fernandez [Tue, 2 Nov 2021 00:04:39 +0000 (17:04 -0700)]
fix: exclude cmd/lefty when Lefty is disabled during build

When Lefty was disabled (`--enable-lefty` not passed to the build system),
several Lefty related artifacts would still be built and installed. E.g. the man
page. We now exclude the entire Lefty subdirectory, which should be less error
prone.

Fixes #2153.

Suggested-by: Daniel Macks
3 years agoremove unused tred2
Matthew Fernandez [Tue, 2 Nov 2021 00:04:38 +0000 (17:04 -0700)]
remove unused tred2

3 years agofix: do not ship leftyguide.pdf when Lefty is not being built
Matthew Fernandez [Tue, 2 Nov 2021 00:04:37 +0000 (17:04 -0700)]
fix: do not ship leftyguide.pdf when Lefty is not being built

Related to #2153.

3 years agoremove commented out Makefile line
Matthew Fernandez [Tue, 2 Nov 2021 00:04:36 +0000 (17:04 -0700)]
remove commented out Makefile line

3 years agofix: do not ship Dotty’s Lefty examples when Lefty is not being built
Matthew Fernandez [Tue, 2 Nov 2021 00:04:33 +0000 (17:04 -0700)]
fix: do not ship Dotty’s Lefty examples when Lefty is not being built

Related to #2153.

3 years agoMerge branch 'smattr/gitlab-2143' into 'main'
Matthew Fernandez [Mon, 8 Nov 2021 01:09:36 +0000 (01:09 +0000)]
Merge branch 'smattr/gitlab-2143' into 'main'

enable persistent Chocolatey cache in Windows CI jobs

Closes #2143

See merge request graphviz/graphviz!2261

3 years agoenable persistent Chocolatey cache in Windows CI jobs
Matthew Fernandez [Tue, 2 Nov 2021 00:06:14 +0000 (17:06 -0700)]
enable persistent Chocolatey cache in Windows CI jobs

The intention of this change is to accelerate Windows CI jobs, currently one of
the limiting factors on our CI throughput. This change takes a conservative
approach, giving each relevant job its own cache. In theory these jobs could all
share a cache, but the Gitlab docs¹ imply this is only safe if only a single job
has a `push` policy. To do this effectively, we would probably have to create a
new preliminary CI job that only built the cache. Then all other jobs would
become `pull` consumers of this cache. Perhaps an improvement to make in future.

Closes #2143.

¹ https://docs.gitlab.com/ee/ci/yaml/index.html#cachepolicy

3 years agoMerge branch 'smattr/B88D27C7-7361-4A49-B653-D44870A5BACC' into 'main'
Matthew Fernandez [Sat, 6 Nov 2021 23:41:56 +0000 (23:41 +0000)]
Merge branch 'smattr/B88D27C7-7361-4A49-B653-D44870A5BACC' into 'main'

smyrna: more dead code removal

See merge request graphviz/graphviz!2260

3 years agosmyrna: remove unused 'ApplyTo'
Matthew Fernandez [Sun, 31 Oct 2021 16:48:49 +0000 (09:48 -0700)]
smyrna: remove unused 'ApplyTo'

3 years agoremove unused 'Edgecount'
Matthew Fernandez [Sat, 6 Nov 2021 22:34:24 +0000 (15:34 -0700)]
remove unused 'Edgecount'

3 years agosmyrna: remove unused 'Edges'
Matthew Fernandez [Sun, 31 Oct 2021 16:43:07 +0000 (09:43 -0700)]
smyrna: remove unused 'Edges'

3 years agosmyrna: remove unused 'Nodes'
Matthew Fernandez [Sun, 31 Oct 2021 16:42:14 +0000 (09:42 -0700)]
smyrna: remove unused 'Nodes'

3 years agosmyrna: remove unused 'customptr'
Matthew Fernandez [Sun, 31 Oct 2021 16:40:15 +0000 (09:40 -0700)]
smyrna: remove unused 'customptr'

3 years agosmyrna: remove unused 'picked_nodes'
Matthew Fernandez [Sun, 31 Oct 2021 16:39:25 +0000 (09:39 -0700)]
smyrna: remove unused 'picked_nodes'

3 years agosmyrna: remove unused 'picked_edges'
Matthew Fernandez [Sun, 31 Oct 2021 16:38:47 +0000 (09:38 -0700)]
smyrna: remove unused 'picked_edges'

3 years agosmyrna: remove unused 'maxnodedegree'
Matthew Fernandez [Sun, 31 Oct 2021 16:37:56 +0000 (09:37 -0700)]
smyrna: remove unused 'maxnodedegree'

3 years agosmyrna: remove unused 'avgedgelength'
Matthew Fernandez [Sun, 31 Oct 2021 16:36:49 +0000 (09:36 -0700)]
smyrna: remove unused 'avgedgelength'

3 years agosmyrna: remove unused 'init_zoom'
Matthew Fernandez [Sun, 31 Oct 2021 16:36:10 +0000 (09:36 -0700)]
smyrna: remove unused 'init_zoom'

3 years agosmyrna: remove unused 'xdotId'
Matthew Fernandez [Sun, 31 Oct 2021 16:35:12 +0000 (09:35 -0700)]
smyrna: remove unused 'xdotId'

3 years agoMerge branch 'smattr/fff5b118-1554-42de-9e8a-2fd20c431ad4' into 'main'
Matthew Fernandez [Sat, 6 Nov 2021 21:16:01 +0000 (21:16 +0000)]
Merge branch 'smattr/fff5b118-1554-42de-9e8a-2fd20c431ad4' into 'main'

rewrite strps.awk in Python and inline it

See merge request graphviz/graphviz!2254

3 years agorewrite strps.awk in Python and inline it
Matthew Fernandez [Sat, 30 Oct 2021 16:53:47 +0000 (09:53 -0700)]
rewrite strps.awk in Python and inline it

Related to #2118.

3 years agoremove unused 'doit' script
Matthew Fernandez [Sat, 6 Nov 2021 19:21:39 +0000 (12:21 -0700)]
remove unused 'doit' script

This script is not currently used for testing and will not be used in the
foreseeable future.

3 years agoMerge branch 'smattr/76B405EB-15C9-4CFD-92A7-84E228A6CEE8' into 'main'
Matthew Fernandez [Sat, 6 Nov 2021 18:49:08 +0000 (18:49 +0000)]
Merge branch 'smattr/76B405EB-15C9-4CFD-92A7-84E228A6CEE8' into 'main'

do not create packaging hierarchy directory for architecture

Closes #2149

See merge request graphviz/graphviz!2257

3 years agodo not create packaging hierarchy directory for architecture
Matthew Fernandez [Sat, 30 Oct 2021 19:39:40 +0000 (12:39 -0700)]
do not create packaging hierarchy directory for architecture

The packaging directories were created based on various dimensions of a matrix,
with architecture at the lowest level. On Linux and macOS, Graphviz is only
packaged for a single architecture (x86-64). On Windows, Graphviz is only
packaged for two architectures (x86 and x86-64). However, the architecture is
also present in the suffix of every packaged file. E.g.

  Graphviz-2.49.3-win32.exe
  Graphviz-2.49.3-win64.exe
  graphviz-nox-2.49.3-1.fc33.x86_64.rpm

So there is no ambiguity if we drop the architecture directory. This seems to be
a case of YAGNI¹ where the system was setup to accommodate multiple
architectures but this has not been needed. We remove it now to (1) reduce
complexity and (2) have less verbose release filenames.²

Closes #2149.

¹ https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it
² Example of a current verbose release filename,
  stable_windows_10_cmake_Release_Win32_graphviz-install-2.49.3-win32.exe

3 years agoMerge branch 'smattr/101bd97e-cdd6-447e-974e-e083cba467d8' into 'main'
Matthew Fernandez [Sat, 6 Nov 2021 17:32:43 +0000 (17:32 +0000)]
Merge branch 'smattr/101bd97e-cdd6-447e-974e-e083cba467d8' into 'main'

smyrna: replace duplicated 'xml_string' with 'xml_escape'

Closes #1868

See merge request graphviz/graphviz!2255

3 years agosmyrna: remove an open coded NULL
Matthew Fernandez [Sat, 30 Oct 2021 16:34:38 +0000 (09:34 -0700)]
smyrna: remove an open coded NULL

3 years agosmyrna: replace duplicated 'xml_string' with 'xml_escape'
Matthew Fernandez [Sat, 30 Oct 2021 16:33:03 +0000 (09:33 -0700)]
smyrna: replace duplicated 'xml_string' with 'xml_escape'

This completes the long journey of unifying four XML escaping routines into one.

Closes #1868.

3 years agosmyrna: replace duplicated libcommon functions with calls to their original
Matthew Fernandez [Sat, 30 Oct 2021 16:08:27 +0000 (09:08 -0700)]
smyrna: replace duplicated libcommon functions with calls to their original

There was no need for this duplication as Smyrna already used functionality from
the very place the originals of these functions lived.

3 years agosmyrna: also link against libpathplan
Matthew Fernandez [Sat, 30 Oct 2021 16:07:54 +0000 (09:07 -0700)]
smyrna: also link against libpathplan

An upcoming change will pull in a dependency on `freePath` that resides in
libpathplan.

3 years agosmyrna: also link against libgvc
Matthew Fernandez [Sat, 30 Oct 2021 15:57:46 +0000 (08:57 -0700)]
smyrna: also link against libgvc

Upcoming changes will add references to functions that are in libgvc. Note that
no changes are required to the MSBuild build system because it already links
Smyrna against libgvc.

3 years agosmyrna: add lib/pathplan to the include path
Matthew Fernandez [Sat, 30 Oct 2021 15:53:25 +0000 (08:53 -0700)]
smyrna: add lib/pathplan to the include path

Upcoming changes will transitively #include pathgeom.h.

3 years agosmyrna: add lib/gvc to the include path
Matthew Fernandez [Sat, 30 Oct 2021 15:45:38 +0000 (08:45 -0700)]
smyrna: add lib/gvc to the include path

Upcoming changes will use some lib/common headers that #include gvcext.h.

3 years agosmyrna: remove inaccurate comment
Matthew Fernandez [Sat, 30 Oct 2021 15:32:31 +0000 (08:32 -0700)]
smyrna: remove inaccurate comment

Smyrna *already* links against both libcommon and libcgraph.

3 years agoMerge branch 'smattr/f664153c-1704-49f7-a22f-72ed3c82bcc5' into 'main'
Matthew Fernandez [Sat, 6 Nov 2021 01:20:39 +0000 (01:20 +0000)]
Merge branch 'smattr/f664153c-1704-49f7-a22f-72ed3c82bcc5' into 'main'

-Wunused-parameter clean ups

See merge request graphviz/graphviz!2258

3 years agorender.h: remove commented out prototypes
Matthew Fernandez [Sun, 31 Oct 2021 03:35:10 +0000 (20:35 -0700)]
render.h: remove commented out prototypes

These functions were made static in a38c14955ecb7417487426f0f33dfd5f63ef1775.

3 years agoaddEdgeLabels: remove legacy comment
Matthew Fernandez [Sun, 31 Oct 2021 03:32:49 +0000 (20:32 -0700)]
addEdgeLabels: remove legacy comment

Fudge factors are used elsewhere in splines.c, but not within this function.

3 years agomakeMultiSpline: remove unused 'g' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:30:22 +0000 (20:30 -0700)]
makeMultiSpline: remove unused 'g' parameter

3 years agogenroute: remove unused 'g' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:26:43 +0000 (20:26 -0700)]
genroute: remove unused 'g' parameter

3 years agofinishEdge: remove unused 'g' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:23:09 +0000 (20:23 -0700)]
finishEdge: remove unused 'g' parameter

3 years agomakeSpline: remove unused 'g' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:19:24 +0000 (20:19 -0700)]
makeSpline: remove unused 'g' parameter

3 years agomakePolyline: remove unused 'g' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:15:45 +0000 (20:15 -0700)]
makePolyline: remove unused 'g' parameter

3 years agoattachOrthoEdges: remove unused 'g' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:12:03 +0000 (20:12 -0700)]
attachOrthoEdges: remove unused 'g' parameter

3 years agoaddEdgeLabels: remove unused 'g' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:07:47 +0000 (20:07 -0700)]
addEdgeLabels: remove unused 'g' parameter

3 years agomakeSelfArcs: remove unused 'P' parameter
Matthew Fernandez [Sun, 31 Oct 2021 03:02:11 +0000 (20:02 -0700)]
makeSelfArcs: remove unused 'P' parameter

3 years agomakeSelfEdge: remove unused 'P' parameter
Matthew Fernandez [Sun, 31 Oct 2021 02:58:25 +0000 (19:58 -0700)]
makeSelfEdge: remove unused 'P' parameter

3 years agoMerge branch 'smattr/C9AAEA67-8F95-48ED-8CC9-8AA2B3694602' into 'main'
Matthew Fernandez [Wed, 3 Nov 2021 02:28:08 +0000 (02:28 +0000)]
Merge branch 'smattr/C9AAEA67-8F95-48ED-8CC9-8AA2B3694602' into 'main'

gvconfig_libdir: fix const-correctness of char pointers in macOS code

See merge request graphviz/graphviz!2264

3 years agogvconfig_libdir: fix const-correctness of char pointers in macOS code
Matthew Fernandez [Wed, 3 Nov 2021 00:04:00 +0000 (17:04 -0700)]
gvconfig_libdir: fix const-correctness of char pointers in macOS code

Commit 284df35236e258a49b86fad6f0d062bf0c2fa840 changed the source pointer `tmp`
used here to be `const`. A side effect of this was introducing a warning
breaking the CMake build on macOS:

  lib/gvc/gvconfig.c:329:10: error: initializing 'char *' with an expression of
    type 'const char *' discards qualifiers
    [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
                        char* s = tmp-1;
                              ^   ~~~~~

This commit was merged via !2231 whose source branch did not have permission to
use the macOS shared runners, so this issue was not caught in pre-merge CI.

3 years agoMerge branch 'dl_iterate_phdr' into 'main'
Matthew Fernandez [Tue, 2 Nov 2021 03:39:51 +0000 (03:39 +0000)]
Merge branch 'dl_iterate_phdr' into 'main'

Prefer dl_iterate_phdr(3) over /proc/self/maps on GNU/Linux

See merge request graphviz/graphviz!2231

3 years agoPrefer dl_iterate_phdr(3) over /proc/self/maps
Nehal J Wani [Sun, 17 Oct 2021 00:49:01 +0000 (20:49 -0400)]
Prefer dl_iterate_phdr(3) over /proc/self/maps

Instead of manually iterating over /proc/self/maps, shift to using the
GNU/Linux extension function: dl_iterate_phdr(), if available.

This also helps in getting around weird problems involving shiftfs + lxd
https://travis-ci.community/t/procfs-provides-paths-outside-of-container/9525

3 years agogvconfig: move declaration of 'tmp' var local to #if <platform> blocks
Nehal J Wani [Sun, 17 Oct 2021 12:25:46 +0000 (08:25 -0400)]
gvconfig: move declaration of 'tmp' var local to #if <platform> blocks

3 years agocommon: rename ET_<> macros to EDGETYPE_<>
Nehal J Wani [Sun, 17 Oct 2021 02:24:08 +0000 (22:24 -0400)]
common: rename ET_<> macros to EDGETYPE_<>

The ET_NONE macro conflicts with a macro by the same name in
/path/to/sysroot/usr/include/elf.h

3 years agoMerge branch 'dlls-win' into 'main'
Matthew Fernandez [Mon, 1 Nov 2021 15:47:20 +0000 (15:47 +0000)]
Merge branch 'dlls-win' into 'main'

Add option to skip installing dependency DLLs

See merge request graphviz/graphviz!2252

3 years agoplugin/pango: install pango/cairo DLLs only if install_win_dependency_dlls is ON
Nehal J Wani [Tue, 26 Oct 2021 20:31:02 +0000 (16:31 -0400)]
plugin/pango: install pango/cairo DLLs only if install_win_dependency_dlls is ON

3 years agoplugin/gd: install GD DLLs only if install_win_dependency_dlls is ON
Nehal J Wani [Tue, 26 Oct 2021 20:30:29 +0000 (16:30 -0400)]
plugin/gd: install GD DLLs only if install_win_dependency_dlls is ON

3 years agolibgvc: install expat DLLs only if install_win_dependency_dlls is ON
Nehal J Wani [Tue, 26 Oct 2021 20:29:31 +0000 (16:29 -0400)]
libgvc: install expat DLLs only if install_win_dependency_dlls is ON