Opened 11 years ago
Closed 6 years ago
#40203 closed update (fixed)
use FreeBSD patch-use-tkInt approach to fix tcltk 8.6 support
Reported by: | howarth@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | mojca (Mojca Miklavec), cooljeanius (Eric Gallager), chrstphrchvz (Christopher Chavez), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
Port: | blt |
Description (last modified by mf2k (Frank Schima))
Currently the blt in MacPort segfaults when used by the apbstool plugin of pymol.
This is fixed by using the http://svnweb.freebsd.org/ports/head/x11-toolkits/blt/files/patch-use-tkInt?revision=300897
patch with the addition of the required tcl/tk internal headers from tcl/tk 8.6.0.
The attached Portfile.diff and patch-tcltk86_internals implements this change and
eliminates the segfaults when clicking the "Choose Externally Generated PQR" button
in pymol's APBS Tools plugin window when blt is installed.
Note the submitted pymol update from ticket:38516#comment:2 needs to be used
to provide additional fixes for the apbstools plugin to run under tcl/tk 8.6.0.
Attachments (2)
Change History (14)
Changed 11 years ago by howarth@…
Attachment: | Portfile.diff added |
---|
Changed 11 years ago by howarth@…
Attachment: | patch-tcltk86_internals added |
---|
patch-tcltk86_internals to address multiple changes in internal tcl/tk calls that blt uses
comment:1 Changed 11 years ago by mf2k (Frank Schima)
Keywords: | haspatch added; x11 removed |
---|---|
Owner: | changed from macports-tickets@… to markd@… |
Version: | 2.2.0 |
In the future, please Cc the port maintainers (port info --maintainers blt).
comment:2 follow-up: 4 Changed 11 years ago by howarth@…
Note that the patch has to bundle the private tk headers since MacPorts doesn't install the private headers. On FreeBSD and fink, we do install the private tcl/tk headers so that those are used instead. FYI.
comment:4 Changed 11 years ago by cooljeanius (Eric Gallager)
Replying to howarth@…:
Note that the patch has to bundle the private tk headers since MacPorts doesn't install the private headers. On FreeBSD and fink, we do install the private tcl/tk headers so that those are used instead. FYI.
Homebrew also installs the private tcl/tk headers. See also the ticket I opened about this (#39431) and the ticket that it was closed as a duplicate of (#17189) for more on installing the private tcl/tk headers.
comment:6 Changed 11 years ago by cooljeanius (Eric Gallager)
Also my copy of the proposed port for tcl84 would also install the private headers (for its version): see #34826 and https://github.com/cooljeanius/LocalPorts/blob/master/lang/tcl84/Portfile#L43
comment:7 Changed 11 years ago by howarth@…
Both fink and fedora use a different approach which in fink looks like...
for pkg in tcl tk; do
mkdir -p %i/include/tcltk-private/${pkg}${MAJORVER}/{generic,unix}
cp ${pkg}%v/generic/*.h %i/include/tcltk-private/${pkg}${MAJORVER}/generic
cp ${pkg}%v/unix/*.h %i/include/tcltk-private/${pkg}${MAJORVER}/unix
pushd %i/include
for hdr in *.h ; do
if [ -f tcltk-private/${pkg}${MAJORVER}/generic/${hdr} ]; then
ln -sf ../../../${hdr} tcltk-private/${pkg}${MAJORVER}/generic
fi
done
popd
perl -pi -e "s,%b/${pkg}%v/unix,%p/lib,; s,%b,%p/include/tcltk-private,; s,/${pkg}%v,/${pkg}${MAJORVER},g" %i/lib/${pkg}Config.sh
done
Note that only the generic headers get symlinked outside of the private header subdirectory
comment:8 Changed 10 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|---|
Owner: | changed from markd@… to macports-tickets@… |
markd has retired. See #44782.
comment:9 Changed 6 years ago by chrstphrchvz (Christopher Chavez)
Cc: | chrstphrchvz added |
---|
comment:10 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | MarcusCalhoun-Lopez added |
---|
comment:11 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:12 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Portfile diff to use patch-tcltk86_internals patch