tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Un-breaking lang/tcl? (Re: 2022Q2 freeze has started)



Am Sun, 19 Jun 2022 20:03:55 -0400
schrieb Greg Troxel <gdt%lexort.com@localhost>: 

>   - No new packages
>   - Build fixes are welcome

What about the failure to build R-tcltk2, which comes up as a depenceny
for others?

	http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=56696

I diagnosed it down (during lots of wasted hours … why, I ask myself)
to this patching we do to unix/Makefile.in:

@@ -947,23 +963,32 @@ install-libraries: libraries
 	    $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)/http1.0"; \
 	    done
 	@echo "Installing package http 2.9.5 as a Tcl Module";
-	@$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(MODULE_INSTALL_DIR)/8.6/http-2.9.5.tm"
+	@$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)/http/http.tcl"
+	@$(INSTALL_DATA) $(TOP_DIR)/library/http/pkgIndex.tcl "$(SCRIPT_INSTALL_DIR)/http/pkgIndex.tcl";
 	@echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/";
 	@for i in $(TOP_DIR)/library/opt/*.tcl; do \
 	    $(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)/opt0.4"; \
 	done
 	@echo "Installing package msgcat 1.6.1 as a Tcl Module"
 	@$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/msgcat.tcl \
-		"$(MODULE_INSTALL_DIR)/8.5/msgcat-1.6.1.tm"
+		"$(SCRIPT_INSTALL_DIR)/msgcat1.6/msgcat.tcl"
+	@$(INSTALL_DATA) $(TOP_DIR)/library/msgcat/pkgIndex.tcl \
+		"$(SCRIPT_INSTALL_DIR)/msgcat1.6/pkgIndex.tcl";
 	@echo "Installing package tcltest 2.5.3 as a Tcl Module"
 	@$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/tcltest.tcl \
-		"$(MODULE_INSTALL_DIR)/8.5/tcltest-2.5.3.tm"
+		"$(SCRIPT_INSTALL_DIR)/tcltest2.5/tcltest.tcl"
+	@$(INSTALL_DATA) $(TOP_DIR)/library/tcltest/pkgIndex.tcl \
+		"$(SCRIPT_INSTALL_DIR)/tcltest2.5/pkgIndex.tcl";
 	@echo "Installing package platform 1.0.18 as a Tcl Module"
 	@$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl \
-		"$(MODULE_INSTALL_DIR)/8.4/platform-1.0.18.tm"
+		"$(SCRIPT_INSTALL_DIR)/platform1.0/platform.tcl"
+	@$(INSTALL_DATA) $(TOP_DIR)/library/platform/pkgIndex.tcl \
+		"$(SCRIPT_INSTALL_DIR)/platform1.0/pkgIndex.tcl";
 	@echo "Installing package platform::shell 1.1.4 as a Tcl Module"
 	@$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl \
-		"$(MODULE_INSTALL_DIR)/8.4/platform/shell-1.1.4.tm"
+		"$(SCRIPT_INSTALL_DIR)/shell1.1/platform/shell.tcl"
+	@$(INSTALL_DATA) $(TOP_DIR)/library/platform/pkgIndex.tcl \
+		"$(SCRIPT_INSTALL_DIR)/shell1.1/pkgIndex.tcl";
 	@echo "Installing encoding files to $(SCRIPT_INSTALL_DIR)/encoding/"
 	@for i in $(TOP_DIR)/library/encoding/*.enc; do \
 		$(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)/encoding"; \

The missing lib/tcl8/8.5/msgcat-1.6.1.tm file causes this test case to
enter an endless loop (of searching for said file, guess):

rm -rf /dev/shm/R; mkdir -p /dev/shm/R; LD_PRELOAD=/dev/shm/tcl8.6.12-inst.patched/lib/libtcl8.6.so DISPLAY= LANG=C R --no-save --no-restore <<< 'install.packages("tcltk2", repos="http://cran.ch.r-project.org";, dependencies=TRUE, lib="/dev/shm/R")'

(Of course, for the install from pkgsrc, you don't need the LD_PRELOAD.)

Now you could say that libtcl should be smarter about handling
non-existence of that module file, and you could be right, but in the
end, pkgsrc is breaking the install. Is there a good reason to messing
with that?

I'd like to have that fixed asap. I do not see the purpose in the
change, so what is it?


Alrighty then,

Thomas

-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg


Home | Main Index | Thread Index | Old Index