aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan M. Lasca <juanmlasca@gmail.com>2022-07-23 01:56:09 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-07-23 11:13:14 +0700
commit857db0d33eb26f00e08cb1a83e7d5a6e9796c426 (patch)
tree3ebcecb1aa27e22e7eb027ee6103ae55209128f4
parentff0eba50258830f85259a70cd99e12c098514a4b (diff)
development/tclvfs: Updated for version 1.4. New maintainer.
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--development/tclvfs/README5
-rw-r--r--development/tclvfs/patches/01-configure.patch30
-rw-r--r--development/tclvfs/patches/01-encoding.patch (renamed from development/tclvfs/patches/02-encoding.patch)56
-rw-r--r--development/tclvfs/patches/02-man.patch (renamed from development/tclvfs/patches/04-man.patch)0
-rw-r--r--development/tclvfs/patches/03-m4.patch21
-rw-r--r--development/tclvfs/patches/05-pkgindex.patch28
-rw-r--r--development/tclvfs/patches/06-zipfix.patch41
-rw-r--r--development/tclvfs/patches/07-vfs.patch22
-rw-r--r--development/tclvfs/slack-desc2
-rw-r--r--development/tclvfs/tclvfs.SlackBuild54
-rw-r--r--development/tclvfs/tclvfs.info12
11 files changed, 79 insertions, 192 deletions
diff --git a/development/tclvfs/README b/development/tclvfs/README
index f38f7d993d27..7ab103b81574 100644
--- a/development/tclvfs/README
+++ b/development/tclvfs/README
@@ -1,2 +1,7 @@
The TclVfs project aims to provide an extension to the Tcl language
which allows Virtual Filesystems to be built using Tcl scripts only.
+
+OPTIONAL DEPENDENCIES:
+* memchan: in-memory channel vfs
+* trf: zip vfs
+* tcllib: tar, ftp vfs + additional man page generation
diff --git a/development/tclvfs/patches/01-configure.patch b/development/tclvfs/patches/01-configure.patch
deleted file mode 100644
index c9f5b42566d0..000000000000
--- a/development/tclvfs/patches/01-configure.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-All the patches are taken from Debian repo
-
---- tclvfs-1.3-20080503.orig/configure
-+++ tclvfs-1.3-20080503/configure
-@@ -7937,12 +7937,15 @@
- SHLIB_LD_LIBS='${LIBS}'
- SHLIB_SUFFIX=".so"
-
-+ # following line added by CW for Debian GNU/Hurd
-+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
-+
- SHLIB_LD="${CC} -shared"
-- DL_OBJS=""
-+ DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
- CC_SEARCH_FLAGS=""
-- LD_SEARCH_FLAGS=""
-+ LD_SEARCH_FLAGS="${CC_SEARCH_FLAGS}"
- if test "`uname -m`" = "alpha" ; then
- CFLAGS="$CFLAGS -mieee"
- fi
-@@ -9803,7 +9806,6 @@
- # (actually we leave an empty line to preserve line numbers).
- if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
--s/:*\$(srcdir):*/:/;
- s/:*\${srcdir}:*/:/;
- s/:*@srcdir@:*/:/;
- s/^\([^=]*=[ ]*\):*/\1/;
diff --git a/development/tclvfs/patches/02-encoding.patch b/development/tclvfs/patches/01-encoding.patch
index 997a352fb0a7..25261055cae2 100644
--- a/development/tclvfs/patches/02-encoding.patch
+++ b/development/tclvfs/patches/01-encoding.patch
@@ -4,8 +4,8 @@ fixes -encoding and -eofchar of files opened on VFS.
Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
---- tclvfs-1.3-20080503.orig/library/ftpvfs.tcl
-+++ tclvfs-1.3-20080503/library/ftpvfs.tcl
+--- a/library/ftpvfs.tcl
++++ b/library/ftpvfs.tcl
@@ -133,10 +133,13 @@
ftp::Get $fd $name -variable tmp
@@ -21,8 +21,8 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
seek $filed 0
return [list $filed]
}
---- tclvfs-1.3-20080503.orig/library/httpvfs.tcl
-+++ tclvfs-1.3-20080503/library/httpvfs.tcl
+--- a/library/httpvfs.tcl
++++ b/library/httpvfs.tcl
@@ -357,11 +357,14 @@
"r" {
set token [geturl "$dirurl$urlname" -headers $headers]
@@ -39,8 +39,8 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
seek $filed 0
# XXX: the close command should free vfs::memchan somehow??
return [list $filed]
---- tclvfs-1.3-20080503.orig/library/tclprocvfs.tcl
-+++ tclvfs-1.3-20080503/library/tclprocvfs.tcl
+--- a/library/tclprocvfs.tcl
++++ b/library/tclprocvfs.tcl
@@ -84,9 +84,12 @@
"" -
"r" {
@@ -55,8 +55,8 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
seek $nfd 0
return [list $nfd]
}
---- tclvfs-1.3-20080503.orig/library/webdavvfs.tcl
-+++ tclvfs-1.3-20080503/library/webdavvfs.tcl
+--- a/library/webdavvfs.tcl
++++ b/library/webdavvfs.tcl
@@ -153,8 +153,12 @@
upvar #0 $token state
@@ -70,8 +70,8 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
seek $filed 0
::http::cleanup $token
return [list $filed]
---- tclvfs-1.3-20080503.orig/library/tkvfs.tcl
-+++ tclvfs-1.3-20080503/library/tkvfs.tcl
+--- a/library/tkvfs.tcl
++++ b/library/tkvfs.tcl
@@ -72,9 +72,12 @@
"" -
"r" {
@@ -86,40 +86,40 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
seek $nfd 0
return [list $nfd]
}
---- tclvfs-1.3-20080503.orig/library/tarvfs.tcl
-+++ tclvfs-1.3-20080503/library/tarvfs.tcl
-@@ -107,6 +107,9 @@
- ::tar::stat $tarfd $name sb
-
+--- a/library/tarvfs.tcl
++++ b/library/tarvfs.tcl
+@@ -106,6 +106,9 @@
+ vfs::tar::_stat $tarfd $name sb
+
set nfd [vfs::memchan]
+ set encoding [fconfigure $nfd -encoding]
+ set eofchar [fconfigure $nfd -eofchar]
+ set translation [fconfigure $nfd -translation]
fconfigure $nfd -translation binary
-
+
# get the starting point from structure
-@@ -115,7 +118,7 @@
-
+@@ -114,7 +117,7 @@
+
puts -nonewline $nfd $data
-
+
- fconfigure $nfd -translation auto
+ fconfigure $nfd -translation $translation -encoding $encoding -eofchar $eofchar
seek $nfd 0
return [list $nfd]
}
---- tclvfs-1.3-20080503.orig/library/zipvfs.tcl
-+++ tclvfs-1.3-20080503/library/zipvfs.tcl
+--- a/library/zipvfs.tcl
++++ b/library/zipvfs.tcl
@@ -108,6 +108,9 @@
::zip::stat $zipfd $name sb
set nfd [vfs::memchan]
+ set encoding [fconfigure $nfd -encoding]
-+ set eofchar [fconfigure $nfd -eofchar]
++ set eofchar [fconfigure $nfd -eofchar]
+ set translation [fconfigure $nfd -translation]
fconfigure $nfd -translation binary
seek $zipfd $sb(ino) start
-@@ -115,7 +118,7 @@
+@@ -118,7 +115,7 @@
puts -nonewline $nfd $data
@@ -128,9 +128,9 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
seek $nfd 0
return [list $nfd]
}
---- tclvfs-1.3-20080503.orig/library/mk4vfs.tcl
-+++ tclvfs-1.3-20080503/library/mk4vfs.tcl
-@@ -183,19 +183,25 @@
+--- a/library/mk4vfs.tcl
++++ b/library/mk4vfs.tcl
+@@ -171,19 +171,25 @@
set fd [vfs::zstream decompress $fd $sb(csize) $sb(size)]
} else {
set fd [vfs::memchan]
@@ -158,7 +158,7 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
seek $fd 0
} else {
set fd [mk::channel $sb(ino) contents r]
-@@ -226,6 +232,9 @@
+@@ -214,6 +220,9 @@
}
set fd [vfs::memchan]
@@ -168,7 +168,7 @@ Probably, the patch is incomplete for mk4fs with ::mk4vfs::zstreamed set to 1.
fconfigure $fd -translation binary
set s [mk::get $sb(ino) contents]
-@@ -237,7 +246,7 @@
+@@ -225,7 +234,7 @@
puts -nonewline $fd $s
#set fd [mk::channel $sb(ino) contents a]
}
diff --git a/development/tclvfs/patches/04-man.patch b/development/tclvfs/patches/02-man.patch
index 73392562a6ab..73392562a6ab 100644
--- a/development/tclvfs/patches/04-man.patch
+++ b/development/tclvfs/patches/02-man.patch
diff --git a/development/tclvfs/patches/03-m4.patch b/development/tclvfs/patches/03-m4.patch
deleted file mode 100644
index d995d72fd4e7..000000000000
--- a/development/tclvfs/patches/03-m4.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
---- tclvfs-1.3-20080503.orig/tclconfig/tcl.m4
-+++ tclvfs-1.3-20080503/tclconfig/tcl.m4
-@@ -1486,12 +1486,15 @@
- SHLIB_LD_LIBS='${LIBS}'
- SHLIB_SUFFIX=".so"
-
-+ # following line added by CW for Debian GNU/Hurd
-+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
-+
- SHLIB_LD="${CC} -shared"
-- DL_OBJS=""
-+ DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
- CC_SEARCH_FLAGS=""
-- LD_SEARCH_FLAGS=""
-+ LD_SEARCH_FLAGS="${CC_SEARCH_FLAGS}"
- if test "`uname -m`" = "alpha" ; then
- CFLAGS="$CFLAGS -mieee"
- fi
diff --git a/development/tclvfs/patches/05-pkgindex.patch b/development/tclvfs/patches/05-pkgindex.patch
deleted file mode 100644
index 77bb689caa94..000000000000
--- a/development/tclvfs/patches/05-pkgindex.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Debian-specific patch by Sergei Golovan which replaces current directory
-for tclvfs library by a fixed one.
-
---- tclvfs-1.3-20080503.orig/pkgIndex.tcl.in
-+++ tclvfs-1.3-20080503/pkgIndex.tcl.in
-@@ -12,19 +12,18 @@
- package require Tcl 8.4
-
- namespace eval ::vfs {}
--variable vfs::dll [file join $dir @PKG_LIB_FILE@]
-+variable vfs::dll [file join /usr/lib @PACKAGE_NAME@@PACKAGE_VERSION@ @PKG_LIB_FILE@]
-
--proc loadvfs {dll} {
-+proc loadvfs {dir dll} {
- global auto_path
- if {![file exists $dll]} { return }
-- set dir [file dirname $dll]
- if {[lsearch -exact $auto_path $dir] == -1} {
- lappend auto_path $dir
- }
- load $dll
- }
-
--package ifneeded vfs @PACKAGE_VERSION@ [list loadvfs $vfs::dll]
-+package ifneeded vfs @PACKAGE_VERSION@ [list loadvfs $dir $vfs::dll]
-
- # Allow optional redirect of VFS_LIBRARY components. Only necessary
- # for testing, but could be used elsewhere.
diff --git a/development/tclvfs/patches/06-zipfix.patch b/development/tclvfs/patches/06-zipfix.patch
deleted file mode 100644
index 8ca6e1c1ae9c..000000000000
--- a/development/tclvfs/patches/06-zipfix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Patch by Victor Wagner (modified by Sergei Golovan for archives less
-than 512 bytes long) fixes zip vfs to work with prepended executable.
-
---- tclvfs-1.3-20080503.orig/library/zipvfs.tcl
-+++ tclvfs-1.3-20080503/library/zipvfs.tcl
-@@ -113,7 +113,8 @@
- set translation [fconfigure $nfd -translation]
- fconfigure $nfd -translation binary
-
-- seek $zipfd $sb(ino) start
-+ upvar #0 zip::$zipfd cb
-+ seek $zipfd [expr {$sb(ino)+$cb(base)}] start
- zip::Data $zipfd sb data
-
- puts -nonewline $nfd $data
-@@ -370,6 +371,7 @@
-
- seek $fd $n end
- set hdr [read $fd $len]
-+ set read [string length $hdr]
- set pos [string first "PK\05\06" $hdr]
- if {$pos == -1} {
- if {$at >= $sz} {
-@@ -384,7 +386,7 @@
- }
-
- set hdr [string range $hdr [expr $pos + 4] [expr $pos + 21]]
-- set pos [expr [tell $fd] + $pos - 512]
-+ set pos [expr [tell $fd] + $pos - $read]
-
- binary scan $hdr ssssiis \
- cb(ndisk) cb(cdisk) \
-@@ -445,7 +447,7 @@
-
- zip::EndOfArchive $fd cb
-
-- seek $fd $cb(coff) start
-+ seek $fd [expr {$cb(coff)+$cb(base)}] start
-
- set toc(_) 0; unset toc(_); #MakeArray
-
diff --git a/development/tclvfs/patches/07-vfs.patch b/development/tclvfs/patches/07-vfs.patch
deleted file mode 100644
index 42b30eb60d45..000000000000
--- a/development/tclvfs/patches/07-vfs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- tclvfs-1.3-20080503.orig/generic/vfs.c 2006/08/30 19:38:03 1.60
-+++ tclvfs-1.3-20080503/generic/vfs.c 2008/10/10 21:57:36 1.61
-@@ -39,6 +39,10 @@
- #define TCL_GLOB_TYPE_MOUNT (1<<7)
- #endif
-
-+#ifndef CONST86
-+#define CONST86
-+#endif
-+
- /*
- * Only the _Init function is exported.
- */
-@@ -1656,7 +1660,7 @@
- return returnVal;
- }
-
--static CONST char**
-+static CONST char * CONST86 *
- VfsFileAttrStrings(pathPtr, objPtrRef)
- Tcl_Obj* pathPtr;
- Tcl_Obj** objPtrRef;
diff --git a/development/tclvfs/slack-desc b/development/tclvfs/slack-desc
index 7b9d93592e3a..b5194c45b5a8 100644
--- a/development/tclvfs/slack-desc
+++ b/development/tclvfs/slack-desc
@@ -11,7 +11,7 @@ tclvfs:
tclvfs: The TclVfs project aims to provide an extension to the Tcl language
tclvfs: which allows Virtual Filesystems to be built using Tcl scripts only.
tclvfs:
-tclvfs: https://sourceforge.net/projects/tclvfs/
+tclvfs: https://core.tcl-lang.org/tclvfs/home
tclvfs:
tclvfs:
tclvfs:
diff --git a/development/tclvfs/tclvfs.SlackBuild b/development/tclvfs/tclvfs.SlackBuild
index 63abc249d260..7d57c5246f09 100644
--- a/development/tclvfs/tclvfs.SlackBuild
+++ b/development/tclvfs/tclvfs.SlackBuild
@@ -2,13 +2,37 @@
# Slackware build script for tclvfs
-# Written by Zbigniew Baniewski, <Zbigniew [dot] Baniewski [at] gmail [dot] com>
+# Copyright 2011-2022 Zbigniew Baniewski <Zbigniew [dot] Baniewski [at] gmail [dot] com>
+# Copyright 2022 Juan M. Lasca <juanmlasca@gmail.com>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# 20222007 Modified by Juan M. Lasca:
+# - updated to version 1.4 (changed website and minor changes)
+# - added code to generate additional man pages
+# - updated patches, remove unneeded ones
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=tclvfs
-VERSION=${VERSION:-20080503}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.4}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -20,9 +44,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -61,13 +82,10 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-cat $CWD/patches/01-configure.patch | patch -p1 || exit
-cat $CWD/patches/02-encoding.patch | patch -p1 || exit
-cat $CWD/patches/03-m4.patch | patch -p1 || exit
-cat $CWD/patches/04-man.patch | patch -p1 || exit
-cat $CWD/patches/05-pkgindex.patch | patch -p1 || exit
-cat $CWD/patches/06-zipfix.patch | patch -p1 || exit
-cat $CWD/patches/07-vfs.patch | patch -p1 || exit
+cat $CWD/patches/01-encoding.patch | patch -p1 || exit
+cat $CWD/patches/02-man.patch | patch -p1 || exit
+
+autoreconf -f
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -84,11 +102,17 @@ CXXFLAGS="$SLKCFLAGS" \
make
make install DESTDIR=$PKG
+# remove empty directories
+rmdir $PKG/usr/include
+rmdir $PKG/usr/bin
+
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Fix Manual page
-mv $PKG/usr/man/mann $PKG/usr/man/man1
+# if dtplite tool is installed (tcllib package), generate additional man pages
+[ -x /usr/bin/dtplite ] && \
+ dtplite -o $PKG/usr/man/mann/vfs-filesystems.n nroff doc/vfs-filesystems.man && \
+ dtplite -o $PKG/usr/man/mann/vfs-fsapi.n nroff doc/vfs-fsapi.man
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/development/tclvfs/tclvfs.info b/development/tclvfs/tclvfs.info
index 80f036169062..1f5ab71d8c7c 100644
--- a/development/tclvfs/tclvfs.info
+++ b/development/tclvfs/tclvfs.info
@@ -1,10 +1,10 @@
PRGNAM="tclvfs"
-VERSION="20080503"
-HOMEPAGE="https://sourceforge.net/projects/tclvfs/"
-DOWNLOAD="https://downloads.sourceforge.net/tclvfs/tclvfs-20080503.tar.gz"
-MD5SUM="3f6dbec91a305f97475d155ca6b1b563"
+VERSION="1.4"
+HOMEPAGE="https://core.tcl-lang.org/tclvfs/home"
+DOWNLOAD="https://core.tcl-lang.org/tclvfs/tarball/vfs-1-4/tclvfs-1.4.tar.gz"
+MD5SUM="29a218e64b545ff5cd2b5be461a83d88"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Zbigniew Baniewski"
-EMAIL="Zbigniew [dot] Baniewski [at] gmail [dot] com"
+MAINTAINER="Juan M. Lasca"
+EMAIL="juanmlasca@gmail.com"