Wednesday, September 18, 2024

Re: x11/tk/8.6: Missing headers in package?

On 2024/09/18 14:53, Johannes Thyssen Tishman wrote:
> I'm trying to build a port (netgen, port attached) that depends on Tk
> and I'm trying to use version 8.6. However when building I get the
> following error:
>
> /usr/ports/pobj/netgen-6.2.2404/netgen-6.2.2404/ng/Togl2.1/togl.c:30:10: fatal error: 'tkInt.h' file not found
> #include <tkInt.h> // don't need it on osx ???
> ^~~~~~~~~
> 1 error generated.
> ninja: build stopped: subcommand failed.
>
> I looked at the package lists of both Tk versions and 8.5 includes the
> above mentioned header as well as the following, many of which version
> 8.6 does not include.
>
> include/tk8.5/default.h
> include/tk8.5/tk.h
> include/tk8.5/tkDecls.h
> include/tk8.5/tkInt.h
> include/tk8.5/tkIntDecls.h
> include/tk8.5/tkIntPlatDecls.h
> include/tk8.5/tkIntXlibDecls.h
> include/tk8.5/tkPlatDecls.h
> include/tk8.5/tkPort.h
> include/tk8.5/tkUnixDefault.h
> include/tk8.5/tkUnixInt.h
> include/tk8.5/tkUnixPort.h
> include/tk8.5/ttkDecls.h
> include/tk8.5/ttkTheme.h
>
> Is there a specific reason for this? The Tk-8.6 package lists of other
> OS's (e.g. Arch Linux[1] or FreeBSD[2]) include them as well.
>
> I can build with version 8.5 with no issues, however this port will be
> used in conjunction with cad/opencascade which depends on version 8.6.
> Not sure if this would cause problems or not, but it seems silly to
> install both versions if both could work with the same.
>
> [1] https://archlinux.org/packages/extra/x86_64/tk/files/
> [2] https://github.com/freebsd/freebsd-ports/blob/main/x11-toolkits/tk86/pkg-plist
>

fwiw these are the private headers which stu@ intentionally removed
in this commit:

$ cvsps -s 136 -g
---------------------
PatchSet 136
Date: 2015/05/22 05:17:59
Author: stu
Branch: HEAD
Tag: (none)
Log:
Update to 8.6.4.

Discontinue the installation of private header files.
Better setting of Tcl include dir.
Improved lib/package/module path config/runtime.
Port improvements for less diff churn on future port updates.

Members:
8.6/Makefile:1.8->1.9
8.6/distinfo:1.3->1.4
8.6/patches/patch-library_tk_tcl:1.1->1.2
8.6/patches/patch-unix_Makefile_in:1.3->1.4
8.6/pkg/PLIST:1.6->1.7

Index: ports/x11/tk/8.6/Makefile
diff -u ports/x11/tk/8.6/Makefile:1.8 ports/x11/tk/8.6/Makefile:1.9
--- ports/x11/tk/8.6/Makefile:1.8 Sun Sep 7 18:49:32 2014
+++ ports/x11/tk/8.6/Makefile Fri May 22 04:17:59 2015
@@ -1,10 +1,11 @@
-# $OpenBSD: Makefile,v 1.8 2014/09/07 18:49:32 stu Exp $
+# $OpenBSD: Makefile,v 1.9 2015/05/22 04:17:59 stu Exp $

COMMENT = graphical toolkit for Tcl

-DISTNAME = tk8.6.2
-PKGNAME = tk-8.6.2
-SHARED_LIBS = tk86 1.1
+P = 4
+DISTNAME = tk8.6.${P}
+PKGNAME = tk-8.6.${P}
+SHARED_LIBS = tk86 1.2
CATEGORIES = x11 x11/tk
HOMEPAGE = http://www.tcl.tk/
MAINTAINER = Stuart Cassoff <stwo@users.sourceforge.net>
@@ -17,11 +18,11 @@
MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=tcl/}
DISTFILES = ${DISTNAME}-src.tar.gz

-LIB_DEPENDS = tcl->=8.6.2,<8.6.3:lang/tcl/8.6
+LIB_DEPENDS = tcl-8.6.${P}:lang/tcl/8.6

MAKE_FLAGS += TK_LIBRARY='$$(prefix)/lib/tcl/tk$$(VERSION)' \
- TCL_GENERIC_DIR='$$(GENERIC_DIR)' \
- TCL_PLATFORM_DIR='$$(GENERIC_DIR)'
+ TCL_GENERIC_DIR='${LOCALBASE}/include/tcl8.6' \
+ TCL_PLATFORM_DIR='$$(TCL_GENERIC_DIR)'

FAKE_FLAGS = INSTALL_DATA_DIR="${INSTALL_DATA_DIR}" \
INSTALL_LIBRARY="${INSTALL_DATA}" \
@@ -43,8 +44,6 @@
--enable-man-symlinks \
--disable-rpath \
--with-tcl="${LOCALBASE}/lib/tcl/tcl8.6" \
- EXTRA_INSTALL="install-private-headers" \
- EXTRA_CC_SWITCHES="-I${LOCALBASE}/include/tcl8.6" \
SHLIB_VERSION="${LIBtk86_VERSION}"

.include <bsd.port.arch.mk>
@@ -63,9 +62,6 @@
TESTHOME = ${WRKDIR}/testhome
# Use TESTFLAGS to control the Tk tests
TESTFLAGS =
-
-pre-configure:
- @${SUBST_CMD} ${WRKSRC}/installManPage

pre-test:
mkdir -p ${TESTHOME}
Index: ports/x11/tk/8.6/distinfo
diff -u ports/x11/tk/8.6/distinfo:1.3 ports/x11/tk/8.6/distinfo:1.4
--- ports/x11/tk/8.6/distinfo:1.3 Sun Sep 7 18:49:32 2014
+++ ports/x11/tk/8.6/distinfo Fri May 22 04:17:59 2015
@@ -1,2 +1,2 @@
-SHA256 (tk8.6.2-src.tar.gz) = r7ZjkEPsOJBa/iK2HKVIICF/TU6B4K1J+DnBbSv5hXk=
-SIZE (tk8.6.2-src.tar.gz) = 4246617
+SHA256 (tk8.6.4-src.tar.gz) = CPmd+F5dycQnF2IWPGqruWLIspfcXEwa+L3QX8LdJsE=
+SIZE (tk8.6.4-src.tar.gz) = 4266426
Index: ports/x11/tk/8.6/patches/patch-library_tk_tcl
diff -u ports/x11/tk/8.6/patches/patch-library_tk_tcl:1.1 ports/x11/tk/8.6/patches/patch-library_tk_tcl:1.2
--- ports/x11/tk/8.6/patches/patch-library_tk_tcl:1.1 Sat Feb 2 11:18:09 2013
+++ ports/x11/tk/8.6/patches/patch-library_tk_tcl Fri May 22 04:17:59 2015
@@ -1,11 +1,12 @@
-$OpenBSD: patch-library_tk_tcl,v 1.1 2013/02/02 11:18:09 stu Exp $
---- library/tk.tcl.orig Wed Feb 15 20:58:18 2012
-+++ library/tk.tcl Wed Feb 15 21:46:10 2012
-@@ -53,13 +53,13 @@ namespace eval ::ttk {
+$OpenBSD: patch-library_tk_tcl,v 1.2 2015/05/22 04:17:59 stu Exp $
+--- library/tk.tcl.orig Thu Feb 26 12:13:57 2015
++++ library/tk.tcl Mon Apr 6 21:52:53 2015
+@@ -53,13 +53,14 @@ namespace eval ::ttk {
}
}

-# Add Ttk & Tk's directory to the end of the auto-load search path, if it
++# OpenBSD layout.
+# Add Tk's directory to the end of the auto-load search path, if it
# isn't already on the path:

Index: ports/x11/tk/8.6/patches/patch-unix_Makefile_in
diff -u ports/x11/tk/8.6/patches/patch-unix_Makefile_in:1.3 ports/x11/tk/8.6/patches/patch-unix_Makefile_in:1.4
--- ports/x11/tk/8.6/patches/patch-unix_Makefile_in:1.3 Sun Sep 7 18:49:32 2014
+++ ports/x11/tk/8.6/patches/patch-unix_Makefile_in Fri May 22 04:17:59 2015
@@ -1,15 +1,7 @@
-$OpenBSD: patch-unix_Makefile_in,v 1.3 2014/09/07 18:49:32 stu Exp $
---- unix/Makefile.in.orig Mon Jul 28 11:56:44 2014
-+++ unix/Makefile.in Sun Aug 17 17:01:38 2014
-@@ -558,6 +558,7 @@ PUBLIC_HDRS = $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkDec
- # The private headers we want installed for install-private-headers
- PRIVATE_HDRS = $(GENERIC_DIR)/tkInt.h $(GENERIC_DIR)/tkIntDecls.h \
- $(GENERIC_DIR)/tkIntPlatDecls.h $(GENERIC_DIR)/tkPort.h \
-+ $(GENERIC_DIR)/default.h $(UNIX_DIR)/tkUnixDefault.h \
- $(TTK_HDRS) $(@TK_WINDOWINGSYSTEM@_PRIVATE_HDRS)
-
- DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget
-@@ -593,6 +594,10 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
+$OpenBSD: patch-unix_Makefile_in,v 1.4 2015/05/22 04:17:59 stu Exp $
+--- unix/Makefile.in.orig Wed Mar 11 09:59:53 2015
++++ unix/Makefile.in Mon Apr 6 19:47:51 2015
+@@ -593,6 +593,10 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
rm -f $@
@MAKE_STUB_LIB@

@@ -20,7 +12,7 @@
# Build Aqua resource files
${TK_RSRC_FILE}: $(AQUA_RESOURCES)
rm -f $@
-@@ -740,10 +745,10 @@ install-binaries: $(TK_STUB_LIB_FILE) $(TK_LIB_FILE) $
+@@ -740,10 +744,10 @@ install-binaries: $(TK_STUB_LIB_FILE) $(TK_LIB_FILE) $
echo "}";\
fi \
) > "$(PKG_INDEX)"; \
@@ -32,7 +24,7 @@
@if test -f "tk${MAJOR_VERSION}${MINOR_VERSION}.dll"; then \
$(INSTALL_LIBRARY) "tk${MAJOR_VERSION}${MINOR_VERSION}.dll" "$(DLL_INSTALL_DIR)";\
chmod 555 "$(DLL_INSTALL_DIR)/tk${MAJOR_VERSION}${MINOR_VERSION}.dll";\
-@@ -761,7 +766,7 @@ install-binaries: $(TK_STUB_LIB_FILE) $(TK_LIB_FILE) $
+@@ -761,7 +765,7 @@ install-binaries: $(TK_STUB_LIB_FILE) $(TK_LIB_FILE) $
@EXTRA_INSTALL_BINARIES@
@echo "Installing pkg-config file to $(LIB_INSTALL_DIR)/pkgconfig/"
@$(INSTALL_DATA_DIR) $(LIB_INSTALL_DIR)/pkgconfig
@@ -41,7 +33,7 @@

install-libraries: libraries
@for i in "$(SCRIPT_INSTALL_DIR)" "$(SCRIPT_INSTALL_DIR)/images" \
-@@ -816,6 +821,7 @@ install-demos:
+@@ -816,6 +820,7 @@ install-demos:
if [ -f $$i ] ; then \
sed -e '3 s|exec wish|exec wish$(VERSION)|' \
$$i > "$(DEMO_INSTALL_DIR)"/`basename $$i`; \
@@ -49,7 +41,7 @@
fi; \
done;
@for i in $(DEMOPROGS); \
-@@ -823,7 +829,7 @@ install-demos:
+@@ -823,7 +828,7 @@ install-demos:
if test $$i = "square"; then \
rm -f "$(DEMO_INSTALL_DIR)/$$i"; \
else \
Index: ports/x11/tk/8.6/pkg/PLIST
diff -u ports/x11/tk/8.6/pkg/PLIST:1.6 ports/x11/tk/8.6/pkg/PLIST:1.7
--- ports/x11/tk/8.6/pkg/PLIST:1.6 Sun Sep 7 18:49:32 2014
+++ ports/x11/tk/8.6/pkg/PLIST Fri May 22 04:17:59 2015
@@ -1,23 +1,12 @@
-@comment $OpenBSD: PLIST,v 1.6 2014/09/07 18:49:32 stu Exp $
+@comment $OpenBSD: PLIST,v 1.7 2015/05/22 04:17:59 stu Exp $
@option no-default-conflict
@conflict tk->=8.6,<8.7
%%SHARED%%
@bin bin/wish8.6
include/tk8.6/
-include/tk8.6/default.h
include/tk8.6/tk.h
include/tk8.6/tkDecls.h
-include/tk8.6/tkInt.h
-include/tk8.6/tkIntDecls.h
-include/tk8.6/tkIntPlatDecls.h
-include/tk8.6/tkIntXlibDecls.h
include/tk8.6/tkPlatDecls.h
-include/tk8.6/tkPort.h
-include/tk8.6/tkUnixDefault.h
-include/tk8.6/tkUnixInt.h
-include/tk8.6/tkUnixPort.h
-include/tk8.6/ttkDecls.h
-include/tk8.6/ttkTheme.h
lib/libtk86.a
@lib lib/libtk86.so.${LIBtk86_VERSION}
lib/libtkstub86.a

No comments:

Post a Comment