Index: tclvfs/build.sh ================================================================== --- tclvfs/build.sh +++ tclvfs/build.sh @@ -15,14 +15,21 @@ SRC="src/tclvfs-${TCLVFSVERS}.tar.gz" SRCURL="http://sourceforge.net/projects/tclvfs/files/tclvfs/tclvfs-${TCLVFSVERS}/tclvfs-${TCLVFSVERS}.tar.gz/download" BUILDDIR="$(pwd)/build/tclvfs-${TCLVFSVERS}" OUTDIR="$(pwd)/out" INSTDIR="$(pwd)/inst" -export TCLVFSVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR +PATCHDIR="$(pwd)/patches" +export TCLVFSVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHDIR rm -rf 'build' 'out' 'inst' mkdir 'build' 'out' 'inst' || exit 1 + +TCL_VERSION="unknown" +if [ -f "${TCLCONFIGDIR}/tclConfig.sh" ]; then + source "${TCLCONFIGDIR}/tclConfig.sh" +fi +export TCL_VERSION if [ ! -f "${SRC}" ]; then mkdir 'src' >/dev/null 2>/dev/null wget -O "${SRC}" "${SRCURL}" || exit 1 @@ -33,10 +40,20 @@ gzip -dc "../${SRC}" | tar -xf - cd "${BUILDDIR}" || exit 1 + # Apply required patches + for patch in "${PATCHDIR}/all"/tclvfs-${TCLVFSVERS}-*.diff "${PATCHDIR}/${TCL_VERSION}"/tclvfs-${TCLVFSVERS}-*.diff; do + if [ ! -f "${patch}" ]; then + continue + fi + + echo "Applying: ${patch}" + patch -p1 < "${patch}" + done + cp generic/vfs.c . # Build static version ./configure --disable-shared --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --with-tcl="${TCLCONFIGDIR}" ${CONFIGUREEXTRA} "${MAKE:-make}" || exit 1 ADDED tclvfs/patches/8.6/tclvfs-20080503-compilewithcvs.diff Index: tclvfs/patches/8.6/tclvfs-20080503-compilewithcvs.diff ================================================================== --- tclvfs/patches/8.6/tclvfs-20080503-compilewithcvs.diff +++ tclvfs/patches/8.6/tclvfs-20080503-compilewithcvs.diff @@ -0,0 +1,12 @@ +diff -uNr tclvfs-20080503-orig/generic/vfs.c tclvfs-20080503-rsk/generic/vfs.c +--- tclvfs-20080503-orig/generic/vfs.c 2006-08-30 14:38:03.000000000 -0500 ++++ tclvfs-20080503-rsk/generic/vfs.c 2010-02-21 18:43:45.000000000 -0600 +@@ -1656,7 +1656,7 @@ + return returnVal; + } + +-static CONST char** ++static const char* CONST* + VfsFileAttrStrings(pathPtr, objPtrRef) + Tcl_Obj* pathPtr; + Tcl_Obj** objPtrRef;