From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id B293D158042 for ; Sat, 16 Nov 2024 18:20:28 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E8E45E0829; Sat, 16 Nov 2024 18:20:27 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D1EF9E0829 for ; Sat, 16 Nov 2024 18:20:27 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 24E18342FA1 for ; Sat, 16 Nov 2024 18:20:27 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 89EB6AE7 for ; Sat, 16 Nov 2024 18:20:25 +0000 (UTC) From: "Jakov Smolić" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jakov Smolić" Message-ID: <1731781197.4f5b65e1dc625a4101cb11b0c02d8ae1af3f2284.jsmolic@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/sqlite/, dev-db/sqlite/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-db/sqlite/files/sqlite-3.47.0-buildtclext.patch dev-db/sqlite/sqlite-3.47.0-r1.ebuild X-VCS-Directories: dev-db/sqlite/ dev-db/sqlite/files/ X-VCS-Committer: jsmolic X-VCS-Committer-Name: Jakov Smolić X-VCS-Revision: 4f5b65e1dc625a4101cb11b0c02d8ae1af3f2284 X-VCS-Branch: master Date: Sat, 16 Nov 2024 18:20:25 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 79f28a3d-0132-4a7a-ba20-040f3b1926e0 X-Archives-Hash: f15da1433cff7ae763ebed80d50733df commit: 4f5b65e1dc625a4101cb11b0c02d8ae1af3f2284 Author: Jakov Smolić gentoo org> AuthorDate: Sat Nov 16 18:18:44 2024 +0000 Commit: Jakov Smolić gentoo org> CommitDate: Sat Nov 16 18:19:57 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f5b65e1 dev-db/sqlite: Fix build with USE=tcl Closes: https://bugs.gentoo.org/942918 Signed-off-by: Jakov Smolić gentoo.org> .../sqlite/files/sqlite-3.47.0-buildtclext.patch | 122 +++++++++++++++++++++ dev-db/sqlite/sqlite-3.47.0-r1.ebuild | 1 + 2 files changed, 123 insertions(+) diff --git a/dev-db/sqlite/files/sqlite-3.47.0-buildtclext.patch b/dev-db/sqlite/files/sqlite-3.47.0-buildtclext.patch new file mode 100644 index 000000000000..491674f5e993 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.47.0-buildtclext.patch @@ -0,0 +1,122 @@ +# https://sqlite.org/forum/forumpost/0683a49cb02f31a1 +# https://bugs.gentoo.org/942918 +# Compiled from https://sqlite.org/forum/forumpost/6fd4ca69e86eafc6, https://www.sqlite.org/src/info/38136b33f9536b63 and https://www.sqlite.org/src/info/2f6e5946cf34e094 + +--- a/tool/buildtclext.tcl ++++ b/tool/buildtclext.tcl +@@ -140,12 +140,13 @@ + if {[string length $OPTS]>1} { + append LDFLAGS $OPTS + } +- set CMD [subst $cmd] + if {$TCLMAJOR>8} { + set OUT libtcl9sqlite$VERSION.$SUFFIX + } else { + set OUT libsqlite$VERSION.$SUFFIX + } ++ set @ $OUT; # workaround for https://sqlite.org/forum/forumpost/6b1af7eb10884373 ++ set CMD [subst $cmd] + } + + # Show information about prior installs + +From b03592c324a4d066e12c3af945dd510dc28b6d65 Mon Sep 17 00:00:00 2001 +From: stephan +Date: Sat, 16 Nov 2024 14:33:01 +0000 +Subject: [PATCH] Add DESTDIR support to the tclextension-install target, via + [67a3ca0c013b] and [d1663cf05f7d]. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -1600,7 +1600,7 @@ tclextension: tclsqlite3.c + # to find it. + # + tclextension-install: tclsqlite3.c +- $(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --cc "$(CC)" $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) ++ $(TCLSH_CMD) $(TOP)/tool/buildtclext.tcl --destdir "$(DESTDIR)" --cc "$(CC)" $(CFLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) + + # Install the SQLite TCL extension that is used by $TCLSH_CMD + # ++38136b33f9536b63520d3810f397a3b4b5372028b31108806f84fe44bf338425 +--- a/tool/buildtclext.tcl ++++ b/tool/buildtclext.tcl +@@ -15,6 +15,7 @@ Options: + --info Show info on existing SQLite TCL extension installs + --install-only Install an extension previously build + --uninstall Uninstall the extension ++ --destdir DIR Installation root (used by "make install DESTDIR=...") + + Other options are retained and passed through into the compiler.} + +@@ -25,6 +26,7 @@ set uninstall 0 + set infoonly 0 + set CC {} + set OPTS {} ++set DESTDIR ""; # --destdir "$(DESTDIR)" + for {set ii 0} {$ii<[llength $argv]} {incr ii} { + set a0 [lindex $argv $ii] + if {$a0=="--install-only"} { +@@ -42,6 +44,9 @@ for {set ii 0} {$ii<[llength $argv]} {incr ii} { + } elseif {$a0=="--cc" && $ii+1<[llength $argv]} { + incr ii + set CC [lindex $argv $ii] ++ } elseif {$a0=="--destdir" && $ii+1<[llength $argv]} { ++ incr ii ++ set DESTDIR [lindex $argv $ii] + } elseif {[string match -* $a0]} { + append OPTS " $a0" + } else { +@@ -245,7 +250,7 @@ package ifneeded sqlite3 $VERSION \\ + + if {$install} { + # Install the extension +- set DEST2 $DEST/sqlite$VERSION ++ set DEST2 ${DESTDIR}$DEST/sqlite$VERSION + file mkdir $DEST2 + puts "installing $DEST2/pkgIndex.tcl" + file copy -force pkgIndex.tcl $DEST2 + +From 375552f224813c7e2fac0e67dd13ecd6ba3a3571 Mon Sep 17 00:00:00 2001 +From: stephan +Date: Sat, 16 Nov 2024 17:12:17 +0000 +Subject: [PATCH] Handle DESTDIR at an earlier phase in buildtclext.tcl to + account for the is-writable-dir check and to filter out //zipfs: dirs as + (im)possible installation targets. +--- a/tool/buildtclext.tcl ++++ b/tool/buildtclext.tcl +@@ -198,7 +198,15 @@ if {$install} { + # + set DEST {} + foreach dir $auto_path { +- if {[file writable $dir]} { ++ if {[string match //*:* $dir]} { ++ # We can't install to //zipfs: paths ++ continue ++ } elseif {"" ne $DESTDIR && ![file writable $DESTDIR]} { ++ continue ++ } ++ set dir ${DESTDIR}$dir ++ if {[file writable $dir] || "" ne $DESTDIR} { ++ # the dir will be created later ^^^^^^^^ + set DEST $dir + break + } elseif {[glob -nocomplain $dir/sqlite3*/pkgIndex.tcl]!=""} { +@@ -216,7 +224,7 @@ if {$install} { + puts "to work around this problem.\n" + puts "These are the (unwritable) \$auto_path directories:\n" + foreach dir $auto_path { +- puts " * $dir" ++ puts " * ${DESTDIR}$dir" + } + exit 1 + } +@@ -250,7 +258,7 @@ package ifneeded sqlite3 $VERSION \\ + + if {$install} { + # Install the extension +- set DEST2 ${DESTDIR}$DEST/sqlite$VERSION ++ set DEST2 $DEST/sqlite$VERSION + file mkdir $DEST2 + puts "installing $DEST2/pkgIndex.tcl" + file copy -force pkgIndex.tcl $DEST2 + diff --git a/dev-db/sqlite/sqlite-3.47.0-r1.ebuild b/dev-db/sqlite/sqlite-3.47.0-r1.ebuild index c7033bdf2661..b3dd1b416b61 100644 --- a/dev-db/sqlite/sqlite-3.47.0-r1.ebuild +++ b/dev-db/sqlite/sqlite-3.47.0-r1.ebuild @@ -54,6 +54,7 @@ PATCHES=( "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch "${FILESDIR}"/${PN}-3.47.0-nonbash.patch "${FILESDIR}"/${PN}-3.47.0-allocator-mismatch.patch + "${FILESDIR}"/${PN}-3.47.0-buildtclext.patch ) _fossil_fetch() {