]> granicus.if.org Git - graphviz/log
graphviz
3 years agolimitBoxes: [nfc] abbreviation some accumulation
Matthew Fernandez [Wed, 15 Dec 2021 05:44:56 +0000 (21:44 -0800)]
limitBoxes: [nfc] abbreviation some accumulation

3 years agoMerge branch 'smattr/03D71147-1B60-4F43-83A3-9DD0DB36BFFC' into 'main'
Matthew Fernandez [Wed, 15 Dec 2021 03:31:38 +0000 (03:31 +0000)]
Merge branch 'smattr/03D71147-1B60-4F43-83A3-9DD0DB36BFFC' into 'main'

mingle: fix mismatched format string to 'agerr'

See merge request graphviz/graphviz!2330

3 years agomingle: fix mismatched format string to 'agerr'
Matthew Fernandez [Fri, 10 Dec 2021 01:05:22 +0000 (17:05 -0800)]
mingle: fix mismatched format string to 'agerr'

Based on line 395 of this same file, it is clear this is what this code was
intended to look like. It is unclear to me why this was not caught by the GNU
`printf` annotations on `agerr`.

3 years agoMerge branch 'smattr/271D49D3-BD64-4100-9DED-91D288393801' into 'main'
Matthew Fernandez [Tue, 14 Dec 2021 16:13:20 +0000 (16:13 +0000)]
Merge branch 'smattr/271D49D3-BD64-4100-9DED-91D288393801' into 'main'

makeStraightEdge: remove array allocation optimization

See merge request graphviz/graphviz!2342

3 years agomakeStraightEdge: remove array allocation optimization
Matthew Fernandez [Mon, 13 Dec 2021 02:07:24 +0000 (18:07 -0800)]
makeStraightEdge: remove array allocation optimization

This code had two alternative paths, one that used a heap-allocated array for
edge counts above 20 and one that used a stack-allocated array for edge counts
of 20 or less. The latter was an optimization to avoid heap allocation for
smaller graphs. Modern dynamic allocators are fast enough that this kind of
optimization is no longer relevant.

3 years agoMerge branch 'smattr/BCD82356-CBC7-4DAA-9AA9-4FE6D9B9A55F' into 'main'
Matthew Fernandez [Tue, 14 Dec 2021 02:15:25 +0000 (02:15 +0000)]
Merge branch 'smattr/BCD82356-CBC7-4DAA-9AA9-4FE6D9B9A55F' into 'main'

upgrade Pylint

See merge request graphviz/graphviz!2339

3 years agosimplify test_1855 call to 'dot'
Matthew Fernandez [Sun, 12 Dec 2021 23:48:59 +0000 (15:48 -0800)]
simplify test_1855 call to 'dot'

Using the wrapper added in 297ed0bc7b61b2a6616c335726334836c8ffcc10, we can
write this code more simply and concisely.

3 years agoupgrade Pylint
Matthew Fernandez [Sun, 14 Nov 2021 18:04:40 +0000 (10:04 -0800)]
upgrade Pylint

3 years agouse Python context manager idiom when reading and writing files
Matthew Fernandez [Sun, 14 Nov 2021 19:12:22 +0000 (11:12 -0800)]
use Python context manager idiom when reading and writing files

Newer versions of Pylint suggest this.

3 years agouse Python 'subprocess.Popen' as a context manager
Matthew Fernandez [Sun, 14 Nov 2021 19:11:48 +0000 (11:11 -0800)]
use Python 'subprocess.Popen' as a context manager

Newer versions of Pylint suggest this.

3 years agortest.py: remove use of 'f3' as a global
Matthew Fernandez [Sun, 14 Nov 2021 18:43:20 +0000 (10:43 -0800)]
rtest.py: remove use of 'f3' as a global

This allows us to convert the use of this file to a more idiomatic `with` block.

3 years agoremove an unnecessary Pylint 'global' statement
Matthew Fernandez [Sun, 14 Nov 2021 18:37:14 +0000 (10:37 -0800)]
remove an unnecessary Pylint 'global' statement

Newer versions of Pylint identify this.

3 years agospecify an explicit mode and UTF-8 encoding in Python open calls with text mode
Matthew Fernandez [Sun, 14 Nov 2021 18:36:15 +0000 (10:36 -0800)]
specify an explicit mode and UTF-8 encoding in Python open calls with text mode

Newer versions of Pylint warn about this.

3 years agoexplicitly specify latin-1 encoding when dealing with PS files in tests
Matthew Fernandez [Mon, 6 Dec 2021 04:18:31 +0000 (20:18 -0800)]
explicitly specify latin-1 encoding when dealing with PS files in tests

PostScript files are encoded in a character set called CCSID 1276.¹ This code
was working despite not specifying an encoding because the default encoding on
each platform coincidentally lines up with that used in their sample files. More
recent versions of Pylint warn that encoding should always be specified in
`open` calls, and attempting to use either ASCII or UTF-8 encoding fails. The
Linux sample files contain invalid ASCII bytes and the Windows sample files
contain invalid UTF-8 bytes. Using latin-1, which seems to be the closest
available encoding to CCSID 1276, works cross platform.

In future, this code should perhaps be adapted to do I/O in binary mode, thus
avoiding any encoding concerns.

¹ https://en.wikipedia.org/wiki/PostScript_Standard_Encoding

3 years agoconvert some legacy Python '.format' and string addition to f-strings
Matthew Fernandez [Sun, 14 Nov 2021 18:20:59 +0000 (10:20 -0800)]
convert some legacy Python '.format' and string addition to f-strings

Newer versions of Pylint warn about this.

3 years agouse 'run' instead of 'Popen' where more concise in test code
Matthew Fernandez [Sun, 12 Dec 2021 06:23:10 +0000 (22:23 -0800)]
use 'run' instead of 'Popen' where more concise in test code

Not only does this lead to more concise and efficient code, this avoids some
upcoming warnings in newer Pylint releases.

3 years agoMerge branch 'smattr/7042B009-FC97-470F-9196-E28ED6BEB967' into 'main'
Matthew Fernandez [Mon, 13 Dec 2021 16:47:41 +0000 (16:47 +0000)]
Merge branch 'smattr/7042B009-FC97-470F-9196-E28ED6BEB967' into 'main'

add Fedora 35 testing in CI

See merge request graphviz/graphviz!2340

3 years agoadd Fedora 35 testing in CI
Matthew Fernandez [Sun, 12 Dec 2021 18:57:52 +0000 (10:57 -0800)]
add Fedora 35 testing in CI

Related to #2163.

3 years agoremove Fedora 33 Docker file
Matthew Fernandez [Sun, 12 Dec 2021 18:55:52 +0000 (10:55 -0800)]
remove Fedora 33 Docker file

2a70afbdf049d5aa93470dcad5cf03c60841b6b3 removed used of this file and should
have removed the file itself as well.

3 years agoMerge branch 'remove-lab-gamut-def-file' into 'main'
Magnus Jacobsson [Mon, 13 Dec 2021 10:33:57 +0000 (10:33 +0000)]
Merge branch 'remove-lab-gamut-def-file' into 'main'

Remove lab_gamut.def file

See merge request graphviz/graphviz!2337

3 years agolib/edgepaint: remove obsolete lab_gamut.def file
Magnus Jacobsson [Sat, 31 Jul 2021 20:39:46 +0000 (22:39 +0200)]
lib/edgepaint: remove obsolete lab_gamut.def file

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058.

3 years agolib/edgepaint: add support for the dllexport storage-class attribute in lab_gamut.h
Magnus Jacobsson [Sat, 31 Jul 2021 21:51:00 +0000 (23:51 +0200)]
lib/edgepaint: add support for the dllexport storage-class attribute in lab_gamut.h

Also, storage-class attributes are now added only when the GVDLL
symbol is defined.

This removes the need to use a .def file.

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058.

3 years agolib/edgepaint: MSBuild: define GVDLL in edgepaintlib project file
Magnus Jacobsson [Sun, 12 Dec 2021 14:51:16 +0000 (15:51 +0100)]
lib/edgepaint: MSBuild: define GVDLL in edgepaintlib project file

An upcoming commit will change lab_gamut.h to use the GVDLL symbol to
enable storage-class attributes.

This change ensures that the lab_gamut symbols will continute to be
declared with the dllimport attribute.

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058.

3 years agolib/edgepaint: MSBuild: define GVDLL in lab_gamut project file
Magnus Jacobsson [Sun, 12 Dec 2021 14:51:52 +0000 (15:51 +0100)]
lib/edgepaint: MSBuild: define GVDLL in lab_gamut project file

An upcoming commit will change lab_gamut.h to use the GVDLL symbol to
enable storage-class attributes.

This change ensures that the lab_gamut symbols will be defined with
the dllexport attribute, which will eliminate the need for a .def
file.

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058.

3 years agoMerge MR !2331
Matthew Fernandez [Mon, 13 Dec 2021 05:10:25 +0000 (21:10 -0800)]
Merge MR !2331

3 years agoCMake: propagate include flag for harfbuzz on Windows
Nehal J Wani [Tue, 11 May 2021 00:19:04 +0000 (20:19 -0400)]
CMake: propagate include flag for harfbuzz on Windows

Pango >=1.44.1 changed the way harfbuzz is included
xref: https://github.com/GNOME/pango/commit/a7b17aa2

This is not required on *nix because the PkgConfig CMake module
already takes care of this. For example, on Ubuntu it adds:
-I/usr/include/harbuzz to PangoCairo_CFLAGS

3 years agoMerge branch 'smattr/A6C297DD-D456-46E0-99BD-E1043C7F5AB1' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 21:12:20 +0000 (21:12 +0000)]
Merge branch 'smattr/A6C297DD-D456-46E0-99BD-E1043C7F5AB1' into 'main'

ci: standardize shell scripts on the same e,u,x,o options

See merge request graphviz/graphviz!2336

3 years agoci: standardize shell scripts on the same e,u,x,o options
Matthew Fernandez [Sat, 11 Dec 2021 06:22:45 +0000 (22:22 -0800)]
ci: standardize shell scripts on the same e,u,x,o options

All these scripts have the same expectation, of failing on anything unexpected.
So setting the same options the same way everywhere leads to more consistency
and predictability.

3 years agoci: apply '${ID_LIKE:-}' pattern from build script to install
Matthew Fernandez [Sat, 11 Dec 2021 22:47:44 +0000 (14:47 -0800)]
ci: apply '${ID_LIKE:-}' pattern from build script to install

This allows in future enabling `set -u` in this script.

3 years agoMerge branch 'smattr/4DE85C4D-850E-457B-9C7E-A5F7767BFFAE' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 19:14:31 +0000 (19:14 +0000)]
Merge branch 'smattr/4DE85C4D-850E-457B-9C7E-A5F7767BFFAE' into 'main'

disable Windows Defender in all CI jobs

See merge request graphviz/graphviz!2334

3 years agodisable Windows Defender in all CI jobs
Matthew Fernandez [Sat, 11 Dec 2021 06:08:24 +0000 (22:08 -0800)]
disable Windows Defender in all CI jobs

Windows Defender significantly degrades I/O and slows CI tasks to the point that
it is difficult to get a passing result on many of the Windows jobs. It is
unclear what value Windows Defender is adding in CI when the entire environment
is transient and malware has no obvious way of gaining persistence. So far, the
main effect of Windows Defender has been to spuriously block MinGW tools,
preventing CI running altogether.

3 years agoMerge branch 'smattr/2756CD40-47ED-43DD-A9D7-825137573F7C' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 17:44:34 +0000 (17:44 +0000)]
Merge branch 'smattr/2756CD40-47ED-43DD-A9D7-825137573F7C' into 'main'

drop Fedora 33 builds from CI

See merge request graphviz/graphviz!2332

3 years agodrop Fedora 33 builds from CI
Matthew Fernandez [Fri, 10 Dec 2021 15:58:51 +0000 (07:58 -0800)]
drop Fedora 33 builds from CI

Fedora 33 was EOLed on 2021-11-30.¹

¹ https://docs.fedoraproject.org/en-US/releases/eol/

3 years agoMerge branch 'smattr/B6B64825-8DDD-4591-98B8-B063F8DC4D69' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 02:24:04 +0000 (02:24 +0000)]
Merge branch 'smattr/B6B64825-8DDD-4591-98B8-B063F8DC4D69' into 'main'

some Python clean up and simplification

See merge request graphviz/graphviz!2328

3 years agotests: avoid a manual open of /dev/null
Matthew Fernandez [Tue, 7 Dec 2021 01:31:02 +0000 (17:31 -0800)]
tests: avoid a manual open of /dev/null

3 years agotests: rewrite 'Popen;communicate' code to use 'check_output'
Matthew Fernandez [Tue, 7 Dec 2021 01:30:04 +0000 (17:30 -0800)]
tests: rewrite 'Popen;communicate' code to use 'check_output'

When this testing code was first written, it looks like it was overlooked that
`check_output` supports the `input` parameter from Python 3.4 onwards. With
this, the relevant code can be written more concisely.

3 years agotests: abstract running 'dot' and checking its return code into library function
Matthew Fernandez [Tue, 7 Dec 2021 01:11:50 +0000 (17:11 -0800)]
tests: abstract running 'dot' and checking its return code into library function

This makes the common pattern of “run `dot`, checking its exit status, and give
me the resulting output” more concise and readable in the test suite.

3 years agotests: rename 'dot' variables in test_regression.py
Matthew Fernandez [Tue, 7 Dec 2021 02:31:05 +0000 (18:31 -0800)]
tests: rename 'dot' variables in test_regression.py

An upcoming change will introduce a `dot` function, which these variables will
then shadow, causing warnings. This is a pre-emptive change to avoid this.

3 years agoMerge branch 'SVG-viewport-precision' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 22:20:51 +0000 (22:20 +0000)]
Merge branch 'SVG-viewport-precision' into 'main'

Fixes https://gitlab.com/graphviz/graphviz/-/issues/1855 where the SVG view...

Closes #1855

See merge request graphviz/graphviz!2327

3 years agoadd a changelog entry for the prior fix
Matthew Fernandez [Wed, 8 Dec 2021 03:21:03 +0000 (19:21 -0800)]
add a changelog entry for the prior fix

3 years agoFixes https://gitlab.com/graphviz/graphviz/-/issues/1855 where the SVG view setup...
Stephen C North [Mon, 6 Dec 2021 13:37:08 +0000 (08:37 -0500)]
Fixes https://gitlab.com/graphviz/graphviz/-/issues/1855 where the SVG view setup needs more than two digits of precision, otherwise clipping may result.

3 years agoadd a test case for scale precision issue
Matthew Fernandez [Tue, 7 Dec 2021 16:06:15 +0000 (08:06 -0800)]
add a test case for scale precision issue

3 years agoMerge branch 'smattr/7740732D-AFA2-4734-9DFE-051A94B5EE68' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 20:00:27 +0000 (20:00 +0000)]
Merge branch 'smattr/7740732D-AFA2-4734-9DFE-051A94B5EE68' into 'main'

remove commented out code

See merge request graphviz/graphviz!2326

3 years agotclpkg/gdtclft/gdtclft.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:34:26 +0000 (13:34 -0800)]
tclpkg/gdtclft/gdtclft.c: [nfc] remove commented out code

3 years agoplugin.demo/xgtk/src/callbacks.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:33:35 +0000 (13:33 -0800)]
plugin.demo/xgtk/src/callbacks.c: [nfc] remove commented out code

3 years agoplugin/gd/gvrender_gd.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:31:42 +0000 (13:31 -0800)]
plugin/gd/gvrender_gd.c: [nfc] remove commented out code

3 years agoplugin/gd/gvloadimage_gd.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:30:15 +0000 (13:30 -0800)]
plugin/gd/gvloadimage_gd.c: [nfc] remove commented out code

3 years agoplugin/gdk/gvloadimage_gdk.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:28:52 +0000 (13:28 -0800)]
plugin/gdk/gvloadimage_gdk.c: [nfc] remove commented out code

3 years agocmd/lefty/ws/mswin32/gtext.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:27:44 +0000 (13:27 -0800)]
cmd/lefty/ws/mswin32/gtext.c: [nfc] remove commented out code

3 years agoMerge branch 'smattr/b524e557-b4bb-48fb-a6b9-4b082a913219' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 18:16:41 +0000 (18:16 +0000)]
Merge branch 'smattr/b524e557-b4bb-48fb-a6b9-4b082a913219' into 'main'

more boolean → bool modernization

See merge request graphviz/graphviz!2325

3 years agopoly_init: [nfc] use a C99 bool for 'isPlain' instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:41:45 +0000 (11:41 -0800)]
poly_init: [nfc] use a C99 bool for 'isPlain' instead of boolean

3 years agolib/common/labels.c: [nfc] remove unnecessary parens
Matthew Fernandez [Sun, 5 Dec 2021 19:41:03 +0000 (11:41 -0800)]
lib/common/labels.c: [nfc] remove unnecessary parens

3 years agostrdup_and_subst_obj0: [nfc] use a C99 bool for 'has_tp' instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:38:47 +0000 (11:38 -0800)]
strdup_and_subst_obj0: [nfc] use a C99 bool for 'has_tp' instead of boolean

3 years agostrdup_and_subst_obj0: [nfc] use a C99 bool for 'has_hp' instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:38:05 +0000 (11:38 -0800)]
strdup_and_subst_obj0: [nfc] use a C99 bool for 'has_hp' instead of boolean

3 years agodot: fix declaration of 'MemTest'
Matthew Fernandez [Sun, 5 Dec 2021 19:36:01 +0000 (11:36 -0800)]
dot: fix declaration of 'MemTest'

This variable, declared in globals.h is an `int`, not a `boolean` (a.k.a.
`unsigned char`).

3 years agolib/neatogen/conjgrad.c: [nfc] remove a commented out #include
Matthew Fernandez [Sun, 5 Dec 2021 19:34:13 +0000 (11:34 -0800)]
lib/neatogen/conjgrad.c: [nfc] remove a commented out #include

3 years agoconjugate_gradient_f: [nfc] take a C99 bool parameter instead of a boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:33:41 +0000 (11:33 -0800)]
conjugate_gradient_f: [nfc] take a C99 bool parameter instead of a boolean

3 years agoexpand_t.doAdd: [nfc] use a C99 bool instead of a boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:22:46 +0000 (11:22 -0800)]
expand_t.doAdd: [nfc] use a C99 bool instead of a boolean

3 years agosamedir: fix return type
Matthew Fernandez [Sun, 5 Dec 2021 19:15:57 +0000 (11:15 -0800)]
samedir: fix return type

Commit e1181697185289594304cfb22d5979d1fc5cbf0f altered this function to use C99
bools but did not update its return type.

3 years agohtmlEntityUTF8: [nfc] use a C99 bool for 'warned' local instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:14:42 +0000 (11:14 -0800)]
htmlEntityUTF8: [nfc] use a C99 bool for 'warned' local instead of boolean

3 years agoMerge branch 'smattr/D5394DF4-047C-45E9-B4B4-400B6140BE96' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 17:15:22 +0000 (17:15 +0000)]
Merge branch 'smattr/D5394DF4-047C-45E9-B4B4-400B6140BE96' into 'main'

ci: [nfc] fuse tarball;mv steps into one

See merge request graphviz/graphviz!2324

3 years agoci: [nfc] fuse tarball;mv steps into one
Matthew Fernandez [Sun, 5 Dec 2021 18:59:14 +0000 (10:59 -0800)]
ci: [nfc] fuse tarball;mv steps into one

When we are immediately going to the move a created tarball to a new location,
we may as well just save time and create it in the eventual location to begin
with.

3 years agoMerge branch 'smattr/8EC56F87-69CE-47A9-8317-CBB835E23A02' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 06:13:43 +0000 (06:13 +0000)]
Merge branch 'smattr/8EC56F87-69CE-47A9-8317-CBB835E23A02' into 'main'

remove Ming plugin

Closes #2160

See merge request graphviz/graphviz!2323

3 years agoremove Ming plugin
Matthew Fernandez [Sun, 5 Dec 2021 01:44:24 +0000 (17:44 -0800)]
remove Ming plugin

The format this plugin produces, Adobe Shockwave, was officially EOLed by Adobe
in April 2019.¹ Legacy support for SWF files was available through Adobe Flash
Player. Flash Player was subsequently EOLed in December 2020 with Adobe
considering it such a security risk they flipped a kill switch in January 2021
making it no longer possible to run Flash Player anywhere.²

Closes #2160

¹ https://helpx.adobe.com/shockwave/shockwave-end-of-life-faq.html
² https://www.adobe.com/au/products/flashplayer/end-of-life.html

3 years agoMerge branch 'smattr/35B3A0E0-A5D9-43EB-9837-79A1DD8788C8' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 03:41:07 +0000 (03:41 +0000)]
Merge branch 'smattr/35B3A0E0-A5D9-43EB-9837-79A1DD8788C8' into 'main'

[nfc] clean up legacy lines in Windows config.h

See merge request graphviz/graphviz!2322

3 years ago[nfc] remove legacy libc header line in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:20:07 +0000 (18:20 -0800)]
[nfc] remove legacy libc header line in Windows config.h

The last use of this macro was removed in
70a4ec52014697210369c6c66c9af7d72579fdc9. Graphviz has been compiled with C99
since fe3f9411d2c59b463ab1b64eecfd19f2db55d2fc, under which standard C headers
are required to exist.

3 years ago[nfc] remove legacy 'STACK_DIRECTION' lines in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:16:30 +0000 (18:16 -0800)]
[nfc] remove legacy 'STACK_DIRECTION' lines in Windows config.h

This constant was introduced in the initial addition of the precreated Windows
config.h, 76ead5c74029a5ceea61dd6c7600dc1931c275cf, but it is unclear where it
originates from. None of the other build systems appear to define this and no
prior or current state of the Graphviz tree has ever contained use of this
macro. Graphviz does not use `alloca`.

3 years ago[nfc] remove legacy sys/dir.h line from Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:12:24 +0000 (18:12 -0800)]
[nfc] remove legacy sys/dir.h line from Windows config.h

The last use of sys/dir.h was removed in
0330a4d918dcbf6edb1ce46956a20bde9a2444f9.

3 years ago[nfc] remove legacy memory.h line in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:08:48 +0000 (18:08 -0800)]
[nfc] remove legacy memory.h line in Windows config.h

The last use of this macro was removed in
5cbd4ebcd8254e51569b7209cb964f7d260319fb.

3 years ago[nfc] remove legacy NDIR lines in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:02:08 +0000 (18:02 -0800)]
[nfc] remove legacy NDIR lines in Windows config.h

The only use of these defines and ndir.h headers was removed in
0330a4d918dcbf6edb1ce46956a20bde9a2444f9.

3 years agoMerge branch 'smattr/8B6E8ECF-9BB8-4D71-8F5E-EDA5F3EC7695' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 02:38:32 +0000 (02:38 +0000)]
Merge branch 'smattr/8B6E8ECF-9BB8-4D71-8F5E-EDA5F3EC7695' into 'main'

fix: correct Windows release file recognition during deployment

Closes #1979

See merge request graphviz/graphviz!2321

3 years agofix: correct Windows release file recognition during deployment
Matthew Fernandez [Sun, 5 Dec 2021 00:05:01 +0000 (16:05 -0800)]
fix: correct Windows release file recognition during deployment

6117abe680037824d134149b0de42f589fb24466 updated the deployment script to add
Windows artifacts that previously needed to be appended locally to the JSON
manifest. However it failed to account for changes made to the packaging
hierarchy that removed release collection and a redundant architecture
component.

(Hopefully) closes #1979.

3 years agoMerge branch 'msys2-ci-fix' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 01:01:33 +0000 (01:01 +0000)]
Merge branch 'msys2-ci-fix' into 'main'

CI: Add C:\tools\msys64 to MS Defender exclusion list

See merge request graphviz/graphviz!2333

3 years agoCI: Add C:\tools\msys64 to MS Defender exclusion list
Nehal J Wani [Fri, 10 Dec 2021 21:58:09 +0000 (16:58 -0500)]
CI: Add C:\tools\msys64 to MS Defender exclusion list

This is a workaround for:

    cc.exe: fatal error: cannot execute
    'C:/tools/msys64/path/to/cc1.exe':
    CreateProcess: No such file or directory

3 years agoMerge branch 'smattr/EF4D0E71-8197-4826-862C-DD92EB96C820' into 'main'
Matthew Fernandez [Tue, 7 Dec 2021 17:33:35 +0000 (17:33 +0000)]
Merge branch 'smattr/EF4D0E71-8197-4826-862C-DD92EB96C820' into 'main'

install and use Ccache in Cygwin CI tasks

See merge request graphviz/graphviz!2303

3 years agoREADME: fix unescaped '&'
Matthew Fernandez [Wed, 24 Nov 2021 02:57:09 +0000 (18:57 -0800)]
README: fix unescaped '&'

3 years agoenable persistent Ccache cache in Cygwin CI tasks
Matthew Fernandez [Wed, 24 Nov 2021 01:41:55 +0000 (17:41 -0800)]
enable persistent Ccache cache in Cygwin CI tasks

This allows cached compilation results to be preserved and reused across CI
runs. It is hoped this will accelerate these currently long running tasks.

3 years agoinstall and use Ccache in Cygwin CI tasks
Matthew Fernandez [Wed, 24 Nov 2021 01:37:19 +0000 (17:37 -0800)]
install and use Ccache in Cygwin CI tasks

The Cygwin CI tasks come very close to the CI timeout ceiling, usually running
for close to an hour. It is hoped that this change (and upcoming caching) will
reduce this time, thus shortening the total CI time as these are the longest
running tasks at present.

3 years agoMerge branch 'add-mingw-autotools-builds-to-ci-take3' into 'main'
Magnus Jacobsson [Tue, 7 Dec 2021 08:01:35 +0000 (08:01 +0000)]
Merge branch 'add-mingw-autotools-builds-to-ci-take3' into 'main'

Add MinGW autotools build jobs to CI

See merge request graphviz/graphviz!2291

3 years agoCI: add windows-mingw64-build-step2-make job
Magnus Jacobsson [Tue, 23 Nov 2021 05:42:30 +0000 (06:42 +0100)]
CI: add windows-mingw64-build-step2-make job

3 years agoCI: add windows-mingw64-build-step1-configure job
Magnus Jacobsson [Tue, 23 Nov 2021 05:42:13 +0000 (06:42 +0100)]
CI: add windows-mingw64-build-step1-configure job

3 years agoCI: add windows-mingw32-build-step2-make job
Magnus Jacobsson [Sun, 21 Nov 2021 14:08:47 +0000 (15:08 +0100)]
CI: add windows-mingw32-build-step2-make job

3 years agoCI: add windows-mingw32-build-step1-configure job
Magnus Jacobsson [Sun, 21 Nov 2021 14:08:29 +0000 (15:08 +0100)]
CI: add windows-mingw32-build-step1-configure job

3 years agoadd ci/mingw-make.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:05:10 +0000 (15:05 +0100)]
add ci/mingw-make.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoadd ci/out-of-source-make.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:04:53 +0000 (15:04 +0100)]
add ci/out-of-source-make.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoadd ci/mingw-configure.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:04:35 +0000 (15:04 +0100)]
add ci/mingw-configure.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoadd ci/out-of-source-configure.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:04:20 +0000 (15:04 +0100)]
add ci/out-of-source-configure.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoci/mingw-build.sh: set CMAKE_OPTIONS only when using CMake
Magnus Jacobsson [Fri, 26 Nov 2021 05:41:23 +0000 (06:41 +0100)]
ci/mingw-build.sh: set CMAKE_OPTIONS only when using CMake

3 years agoci/mingw-build.sh: factor out installation to new mingw-install.sh script
Magnus Jacobsson [Fri, 26 Nov 2021 05:40:33 +0000 (06:40 +0100)]
ci/mingw-build.sh: factor out installation to new mingw-install.sh script

3 years agoci/mingw-build.sh: add installation of autoconf, automake & make
Magnus Jacobsson [Mon, 4 Oct 2021 19:33:20 +0000 (21:33 +0200)]
ci/mingw-build.sh: add installation of autoconf, automake & make

3 years agoci/build.sh: autotools: excplicitly specify the tclsh for MinGW
Magnus Jacobsson [Sun, 3 Oct 2021 13:18:26 +0000 (15:18 +0200)]
ci/build.sh: autotools: excplicitly specify the tclsh for MinGW

Fixes these errors when using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o: in function `tclGdWriteCmd':
C:\Users\magja\graphviz\tclpkg\gdtclft/gdtclft.c:560: undefined reference to `Tcl_GetOpenFile'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o: in function `tclGdCreateCmd':
C:\Users\magja\graphviz\tclpkg\gdtclft/gdtclft.c:450: undefined reference to `Tcl_GetOpenFile'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o: in function `Gdtclft_Init':
C:\Users\magja\graphviz\tclpkg\gdtclft/gdtclft.c:1278: undefined reference to `Tcl_InitStubs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o:gdtclft.c:(.rdata$.refptr.tclStubsPtr[.refptr.tclStubsPtr]+0x0): undefined reference to `tclStubsPtr'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../tclpkg/tclstubs/.libs/libtclstubs_C.a(tclStubLib.o): in function `tclstubs_dummy':
C:\Users\magja\graphviz\tclpkg\tclstubs/tclStubLib.c:17: undefined reference to `Tcl_InitStubs'

3 years agoci/build.sh: autotools add support for CONFIGURE_OPTIONS for MinGW and Cygwin
Magnus Jacobsson [Sun, 3 Oct 2021 13:37:02 +0000 (15:37 +0200)]
ci/build.sh: autotools add support for CONFIGURE_OPTIONS for MinGW and Cygwin

3 years agoci/build.sh: autotools: add support for MinGW builds
Magnus Jacobsson [Sun, 3 Oct 2021 12:58:11 +0000 (14:58 +0200)]
ci/build.sh: autotools: add support for MinGW builds

3 years agoneato_layout: use GVDLL instead _WIN32 to control storage-class attributes
Magnus Jacobsson [Mon, 4 Oct 2021 19:24:28 +0000 (21:24 +0200)]
neato_layout: use GVDLL instead _WIN32 to control storage-class attributes

Storage-class attributes should only be used for dynamic-link
libraries, but not for statically linked libraries.

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agoplugin/neato_layout: MSBuild: define GVDLL
Magnus Jacobsson [Tue, 5 Oct 2021 05:37:07 +0000 (07:37 +0200)]
plugin/neato_layout: MSBuild: define GVDLL

Without this change, the following error would occur in an upcoming
commit that changes the Windows specific storage-class attributes to
be controlled by GVDLL instead of by _WIN32:

LINK : fatal error LNK1181: cannot open input file 'gvplugin_neato_layout.lib' [C:\GitLab-Runner\builds\magjac\graphviz\cmd\tools\gvpack.vcxproj]

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agotclpathplan: autotools: add linking to tcl stubs
Magnus Jacobsson [Wed, 11 Aug 2021 20:28:27 +0000 (22:28 +0200)]
tclpathplan: autotools: add linking to tcl stubs

Fixes errors like this when using autotools with MinGW:

tclpkg\tclpathplan/tclpathplan.c:396: undefined reference to `tclStubsPtr'

3 years agotcldot: autotools: add --no-undefined also for libtcldot_builtin
Magnus Jacobsson [Wed, 11 Aug 2021 12:53:55 +0000 (14:53 +0200)]
tcldot: autotools: add --no-undefined also for libtcldot_builtin

Fixes this error using autotools with MinGW:

libtool:   error: can't build x86_64-w64-mingw32 shared library unless -no-undefined is specified

3 years agotcldot: autotools: add linking to tcl stubs
Magnus Jacobsson [Wed, 11 Aug 2021 20:15:19 +0000 (22:15 +0200)]
tcldot: autotools: add linking to tcl stubs

Fixes errors like this using autotools with MinGW:

C:\Users\magja\graphviz\tclpkg\tcldot/tcldot.c:176: undefined reference to `Tcl_InitStubs'

3 years agotclpkg/gdtclft: correct storage-class attribute declarations
Magnus Jacobsson [Wed, 29 Sep 2021 19:18:33 +0000 (21:18 +0200)]
tclpkg/gdtclft: correct storage-class attribute declarations

Fixes these errors using autotools with MinGW:

gdtclft.c:1271:13: error: expected declaration specifiers or '...' before 'Gdtclft_Init'
 1271 | EXPORT(int, Gdtclft_Init) (interp)
      |             ^~~~~~~~~~~~
gdtclft.c:1297:13: error: expected declaration specifiers or '...' before 'Gdtclft_SafeInit'
 1297 | EXPORT(int, Gdtclft_SafeInit) (interp)
      |             ^~~~~~~~~~~~~~~~

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agocommon: correct storage-class attributes in memory.h
Magnus Jacobsson [Sun, 28 Nov 2021 11:35:20 +0000 (12:35 +0100)]
common: correct storage-class attributes in memory.h

Fixes many errors like this using autotools with MinGW:

  CCLD     mm2gv.exe
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: matrix_market.o: in function `SparseMatrix_import_matrix_market':
C:\Users\magja\graphviz\cmd\tools/matrix_market.c:99: undefined reference to `__imp_gmalloc'