Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get things working on Debian 10, tcl 8.6 and Tk 8.6 #7

Open
wants to merge 4 commits into
base: trunk
Choose a base branch
from

Conversation

andyjpb
Copy link

@andyjpb andyjpb commented Aug 11, 2023

I am building this shape extension as follows on Debian 10.

$ cd shape/unix
$ ./configure --with-tclconf=/usr/lib/tcl8.6 --with-tkconf=/usr/lib

It doesn't work out-of-the-box but after applying the attached patches I get a unix/libshape04.so.1.0 binary.

I've also included some patches to get the demos working but I'm less sure of those because there seems to be something I don't understand about how unix/pkgIndex.tcl is supposed to work.

Please see the commit messages themselves for all the details.

Hopefully these patches are useful but please let me know if you need any more information.

--
andyjpb

+ ; rather than , in shapeSetUpdateOps() argument list.

+ Redefinition of panic is not required as it is supplied by the tcl 8.6
  headers.

+ Include shapeInt.h rather than shape.h in shapeUnixImpl.c to get definition of
  ShapeApplyToParent.

+ Make ordering of Shape_CombineWindow() arguments consistent with the
  prototype and the documentation.

Signed-off-by: Andy Bennett <[email protected]>
I have `wish` and `wish8.6` executables.

8.X is available almost everywhere these days so assume that `wish` gives
us an 8.X `wish` so that we don't have to change this again for every minor
version.

Signed-off-by: Andy Bennett <[email protected]>
There are no installation targets provided to install the library in a
well-known location. unix/pkgIndex.tcl contains some code to help scripts
find the library and to perform a renaming dance but this code isn't
available in a well-known location either.

...so this patch simply copy & pastes the snippet from unix/pkgIndex.tcl to
where it is needed to make the demos work.

The existing definition of `dir` prevents the demos from finding their
image resources and isn't compatible with the unix/pkgIndex.tcl library
loading trick so this patch also fixes it up so that it works for me.

Signed-off-by: Andy Bennett <[email protected]>
@chrstphrchvz
Copy link

panic() is deprecated and will be removed in future Tcl, and is already unavailable on macOS. Its usage should just be migrated to the replacement Tcl_Panic(), which I currently have proposed in #8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants