06 December 2017

Xapian

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: xapian-core-1.4.5.tar.xz

https://xapian.org/download
xapian-core-1.4.5.tar.xz
 
https://mirrors.slackware.com/slackware/slackware-14.2/source/l/xapian-core/

It looks like there's an omission on the following line of the .Slackbuild, otherwise
that script can be utilised for the current stable 1.4 release branch.

-   --docdir=/usr/doc/$PKGNAM-$VERSION \
+   --docdir=/usr/doc/$PKGNAM-$VERSION/doc \

$ make check
./apitest backend inmemory: All 290 tests passed, 8 skipped.
./apitest backend glass: All 399 tests passed, 3 skipped.
./apitest backend singlefile_glass: All 234 tests passed, 1 skipped.
./apitest backend chert: All 398 tests passed, 3 skipped.
./apitest backend multi_glass: All 212 tests passed, 3 skipped.
./apitest backend multi_chert: All 212 tests passed, 3 skipped.
./apitest backend remoteprog_glass: All 286 tests passed, 4 skipped.
./apitest backend remotetcp_glass: All 286 tests passed, 4 skipped.
./apitest backend remoteprog_chert: All 286 tests passed, 4 skipped.
./apitest backend remotetcp_chert: All 286 tests passed, 4 skipped.
./apitest total: All 3031 tests passed, 37 skipped.

PASS: apitest
PASS: internaltest
PASS: stemtest (stemdict tests skipped)
PASS: unittest
==================
All 4 tests passed
==================

api collapsekey2 tests skipped on all backends

adddoc5, adddoc6, metadata5, nomoredocids1, termtoolong1,
and uuid1 skipped on inmemory

positfromtermit1 skipped on remoteprog_glass, remotetcp_glass,
remoteprog_chert, and remotetcp_chert

qpmemoryleak1 skipped on backend glass, backend chert,
remoteprog_glass, remotetcp_glass, remoteprog_chert,
and remotetcp_chert

replicate2 skipped on glass

replicate5 skipped on chert

valueweightsource5 skipped on inmemory, remoteprog_brass,
remotetcp_brass, remoteprog_chert, and remotetcp_chert

wildcard1, 2, skipped on multi_glass and multi_chert

The truncated results of running 'make check' on xapian-core-1.2.21
are found in an earlier blog post.

28 August 2017

bootstrapping go

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: go1.4-bootstrap-20170531.tar.gz,
go1.9.2.src.tar.gz

I haven't tested V. Batts Slackbuild (unmodified or modified) on the
Slackware Linux version for which it was written, namely 14.2; this
post uses version 14.0. For linux/386 cgo is enabled by default.

Go 1.4 was the last version where the toolchain was written in C.

This entry will compile 1.4 and then use that to bootstrap 1.9.2.

https://golang.org/doc/install/source
go1.4-bootstrap-20170531.tar.gz

Download and extract the above file into root's home directory,
rename the folder, then cd into go1.4/src and run make.bash.

bash-4.2# tar xvf go1.4-bootstrap-20170531.tar.gz

...

bash-4.2# mv go go1.4
bash-4.2# cd go1.4/src
bash-4.2# ./make.bash

...

Installed Go for linux/386 in /root/go1.4
Installed commands in /root/go1.4/bin
bash-4.2# exit

http://slackbuilds.org/repository/14.2/development/google-go-lang/
google-go-lang.tar.gz

Download and extract the above file into root's home directory,
and then edit the google-go-lang.SlackBuild file as follows.

- VERSION=${VERSION:-1.8.3}
+ VERSION=${VERSION:-1.9.2}

- export GOROOT_BOOTSTRAP="/usr" # gcc 5+ is go1.4 API, so we'll bootstrap with it
+ # export GOROOT_BOOTSTRAP="/usr" # gcc 5+ is go1.4 API, so we'll bootstrap with it

chmod 0755 $PKG/etc/profile.d/go.sh
+
+ 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

https://golang.org/dl/
go1.9.2.src.tar.gz

Download the above file, then copy it into ~/google-go-lang
and build.

bash-4.2# cd google-go-lang
bash-4.2# ./google-go-lang.SlackBuild

...

Slackware package /tmp/google-go-lang-1.9.2-i586-1_SBo.tgz created.

bash-4.2# cd ..
bash-4.2# rm -r go1.4
bash-4.2# rm -r google-go-lang
bash-4.2# rm -r /tmp/SBo
bash-4.2# installpkg /tmp/google-go-lang-1.9.2-i586-1_SBo.tgz
Verifying package google-go-lang-1.9.2-i586-1_SBo.tgz.
Installing package google-go-lang-1.9.2-i586-1_SBo.tgz:
PACKAGE DESCRIPTION:
# google-go-lang (Google's Go Language kit with gc tool chain)
#
# The Go programming language is an open source project to make
# programmers more productive. Go is expressive, concise, clean, and
# efficient. Its concurrency mechanisms make it easy to write programs
# that get the most out of multicore and networked machines, while its
# novel type system enables flexible and modular program construction.
#
Package google-go-lang-1.9.2-i586-1_SBo.tgz installed.

bash-4.2# exit

The makepkg script called by the Slackbuild will output a warning about
about issue6550.gz, this is expected, the file is used by gunzip_test.go.

Reboot and test your installation.

https://golang.org/doc/install/source#testing

Go 1.9 release notes
Minor revisions

https://golang.org/doc/install/gccgo#Releases

CL 994044CL 4639077CL 4808043

Running thereafter the following command will install the net and tools sub-repositories
in $GOPATH.

sh-4.2$ go get -u golang.org/x/tools/...
sh-4.2$ exit

An alternate file tree with stripped 'tools' subrepo executables is available on this Page.

Legal, CL 60090, CL 76971

15 August 2017

9p

System: Microsoft Windows 10 Home Edition
CPUs: Intel(R) Celeron(R) CPU N3060 @1.60GHz
64-bit Operating System, x64-based processor
Deps: vs_community__1560150700.1495339730.exe,
Setup-Subversion-1.8.17.msi, Python-3.6.1.tar.xz

This post is not finished.

See the 9pvfs post for the Visual Studio setup.

Installation of T. Newsham's 9P client/server implementation in python3.

http://www.thenewsh.com/~newsham/plan9/
9p.tgz

https://github.com/nurmi-labs/py9p
py9p-master.zip

Presently I don't have Plan 9 installed on a machine, and am unable to test the upgrade to python3.

https://www.dlitz.net/software/pycrypto/

https://www.pycryptodome.org/en/latest/

Currently available functional programming languages' 9P implementations.

http://nurmi-labs.blogspot.com/2017/01/patching-network-ninep.html

http://nurmi-labs.blogspot.com/p/9p-scheme.html

http://chicken.kitten-technologies.co.uk/cache/4/9p/0.9/
[depends on A. Shinn's integer sets (isets)]

08 August 2017

Eris

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: eris-master.zip, ucspi-tcp-0.88.tar.gz

Installation of N. Pickett's eris-4.4.

http://slackbuilds.org/repository/14.2/network/ucspi-tcp/

bash-4.2# installpkg ucspi-tcp-0.88-486-1_SBo.tgz

...

bash-4.2# exit

https://github.com/nealey/eris
eris-master.zip

bash-4.2#  cd eris
bash-4.2# make
awk -F : 'NR==1 {printf("const char *FNORD = \"eris/%s\";\n", $1);}' CHANGES > version.h
cc -Wall -Werror   -c -o eris.o eris.c
cc -Wall -Werror   -c -o strings.o strings.c
cc -Wall -Werror   -c -o mime.o mime.c
cc -Wall -Werror   -c -o timerfc.o timerfc.c
cc   eris.o strings.o mime.o timerfc.o   -o eris
bash-4.2#

bash-4.2# ./test.sh
HTTPD: ./eris 
CGI:   ./eris -c 
IDX:   ./eris -d 
Basic tests          .............
Options              .
Tomfoolery           .....
If-Modified-Since    ........
Directory indexing   ...
CGI                  .............
Timeouts             .
CONNECT handler      .
fnord bugs           .......
52 of 52 tests passed (0 failed).
bash-4.2# exit

25 May 2017

9pc

System: Microsoft Windows 10 Home Edition
CPUs: Intel(R) Celeron(R) CPU N3060 @1.60GHz
64-bit Operating System, x64-based processor
Deps: vs_community__1560150700.1495339730.exe,
9pc.tar.gz

At the time of writing the connection to 'sources.cs.bell-labs.com' was valid.
It appears no longer to be available.

Installation of C. Lohmann's proof‐of‐concept 9pc.

https://www.visualstudio.com/downloads/
vs_community__1560150700.1495339730.exe

See the previous post for the Visual Studio setup.

http://plan9.bell-labs.com/sources/contrib/zwansch/ (dead link)
9pc.tar.gz

https://github.com/nurmi-labs/9pc
9pc-master.zip

Try Igor Pavlov's 7-Zip (64-bit x64) for extraction.

Create a new Project directory named 9pc with the 2 .cs files.

Open VS and create a new C# project from the code.

Running code analysis on the solution resulted in the following output.

CA2237: Microsoft.Usage : Add [Serializable] to 'ninepexception' as this type implements ISerializable.

CA1001: Microsoft.Design : Implement IDisposable on 'ninep' because it creates members of the following IDisposable types: 'Socket'.

CS0618: 'Dns.Resolve(string)' is obsolete: 'Resolve is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202'

There were also 41 naming rule violations pertaining to words which must begin with upper case characters.

A partial update to the code (which I haven't applied or tested).

main.cs

+   [Serializable]
     class ninepexception : Exception
     {
         public ninepexception(string str)
         {
             Console.WriteLine("9P error: {0}", str);
         }
     }

-            iphost = Dns.Resolve(host);
+           iphost = Dns.GetHostEntry(host);
addr = iphost.AddressList;
ep = new IPEndPoint(addr[0], port);

Renaming the 32-bit executable and running it.

C:\Users\Eric\9pc.exe
Connected
sources.cs.bell-labs.com% ls
drwxrwxr-x 9grid 9grid 0 9grid
-rw-rw-r-- bootes sys 0 _sources
drwxrwxr-x adm sys 0 adm
drwxrwxr-x sys sys 0 contrib
drwxrwxr-x bootes sys 0 dist
-rw-rw---- geoff sys 396576 du
drwxrwxr-x sys sys 0 extra
drwxrwx--- fastos fastos 0 fastos
-rw-rw-r-- sys sys 9142602 lsr
drwxrwxr-x geoff nix 0 nix
drwxrwxrwx glenda sys 0 patch
drwxrwxr-x sys sys 0 plan9
drwxrwxr-x sys sys 0 wiki
drwxrwxr-x xen xen 0 xen
sources.cs.bell-labs.com% q
Disconnected

C:\Users\Eric\>EXIT

Copes of 9pc's AssemblyInfo.cs and a partially updated Main.cs are in the sidebar.

18 May 2017

9pvfs

System: Microsoft Windows 10 Home Edition
CPUs: Intel(R) Celeron(R) CPU N3060 @1.60GHz
64-bit Operating System, x64-based processor
Deps: vs_community__1560150700.1495339730.exe,
tcl866-src.zip, tcllib-1.18.zip, tk866-src.zip, tclvfs.tar.gz

Installation of A. Belinfante's 9P2000 implementation.

https://9p.io/magic/webls?dir=/sources/contrib/axel/tcl/9pvfs
9pvfs.tcl
main-auth.tcl
main-no-auth.tcl
p9sk1.tcl

Possibly this could provide a Windows-native access to the Kirara
indexing software installed on Plan 9.

https://www.visualstudio.com/downloads/
vs_community__1560150700.1495339730.exe

Run the installer selecting the following individual components.

☑ Static analysis tools
☑ Text template Transformation
☑ C# and Visual Basic Roslyn compilers
☑ MSBuild
☑ VC++ 2017 v141 toolset (x86,x64)
☑ Just-in-Time debugger
☑ Visual Studio C++ core features
☑ Windows 10 SDK (10.015063.0) for Desktop C++ x86 and x64

https://sourceforge.net/projects/tcl/files/Tcl/8.6.6/
tcl866-src.zip

Open an x64_x86 Cross Tools Command Prompt as an administrator.

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26430.14
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

C:\Windows\System32>CD \tcl866-src\tcl8.6.6\win

C:\tcl866-src\tcl8.6.6\win>nmake.exe -f makefile.vc MACHINE=IX86

...

C:\tcl866-src\tcl8.6.6\win>nmake.exe -f makefile.vc install INSTALLDIR=c:\progra~2\tcl

...

C:\tcl866-src\tcl8.6.6\win>EXIT

Add "C:\Program Files (x86)\tcl\bin" to your System Environment Variable PATH.

NB: Setting the macro CFG_ENCODING to, e.g., 850, resulted in the failure
of tclsh86t.exe to install; the default is cp1252. I presume this is a bug and not
limited to cp850.

https://sourceforge.net/projects/tcllib/files/tcllib/1.18/
tcllib-1.18.zip

Open an x64_x86 Cross Tools Command Prompt as an administrator.

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26430.14
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

C:\Windows\System32>CD \tcllib-1.18

C:\tcllib-1.18>tclsh86t.exe installer.tcl
Installing Tcllib 1.18
You have chosen the following configuration ...

Packages:      C:/Program Files (x86)/tcl/lib/tcllib1.18
Applications:  C:/Program Files (x86)/tcl/bin
Examples:      C:/Program Files (x86)/tcl/bin/tcllib_examples1.18
Documentation:

        NROFF:  Not installed.
        HTML:   C:/Program Files (x86)/tcl/tcllib_doc

Is the chosen configuration ok ? y/N: y
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Generating C:/Program Files (x86)/tcl/lib/tcllib1.18/pkgIndex.tcl
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Generating C:/Program Files (x86)/tcl/bin/dtplite.tcl

Generating C:/Program Files (x86)/tcl/bin/nns.tcl

Generating C:/Program Files (x86)/tcl/bin/nnsd.tcl

Generating C:/Program Files (x86)/tcl/bin/nnslog.tcl

Generating C:/Program Files (x86)/tcl/bin/page.tcl

Generating C:/Program Files (x86)/tcl/bin/pt.tcl

Generating C:/Program Files (x86)/tcl/bin/tcldocstrip.tcl


C:\tcllib-1.18>EXIT

https://sourceforge.net/projects/tcl/files/Tcl/8.6.6/
tk866-src.zip

Open an x64_x86 Cross Tools Command Prompt as an administrator.

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26430.14
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

C:\Windows\System32>SET TCLDIR=c:\tcl866-src\tcl8.6.6

C:\Windows\System32>CD \tk866-src\tk8.6.6\win

C:\tk866-src\tk8.6.6\win>nmake.exe -f makefile.vc MACHINE=IX86

...

C:\tk866-src\tk8.6.6\win>nmake.exe -f makefile.vc install INSTALLDIR=c:\progra~2\tcl

...

C:\tk866-src\tk8.6.6\win>EXIT

tclvfs.tar.gz

Try Igor Pavlov's 7-Zip (64-bit x64) for extraction.

Allocation for private headers, a patch (Japanese webpage)
for \tclvfs\generic\vfs.c,

  #endif
+ #include <tclPort.h>  /* moved in front of tcl.h */
  #include <tcl.h>
  /* Required to access the 'stat' structure fields, and TclInExit() */
  #include "tclInt.h"
- #include "tclPort.h"

  /*

and a patch for \tclvfs\win\rules.vc, were needed
in order to get tclvfs-1.4.2 to compile.

+ _HASH=^#
 _VC_MANIFEST_EMBED_EXE=
 _VC_MANIFEST_EMBED_DLL=
 VCVER=0
 !if ![echo VCVERSION=_MSC_VER > vercl.x] \
+     && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
+     && ![echo ARCH=IX86 >> vercl.x] \
+     && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
+     && ![echo ARCH=AMD64 >> vercl.x] \
+     && ![echo $(_HASH)endif >> vercl.x] \
     && ![cl -nologo -TC -P vercl.x $(ERRNULL)]
 !include vercl.i
- !if ![del /q vercl.x vercl.i $(ERRNULL)]
+ !if ![echo VCVER= ^\> vercl.vc] \
+     && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
+ !include vercl.vc
 !endif
- !if $(VCVERSION) >= 1500
- VCVER=9
- !elseif $(VCVERSION) >= 1400
- VCVER=8
- !elseif $(VCVERSION) >= 1300
- VCVER=7
- !elseif $(VCVERSION) >= 1200
- VCVER=6
 !endif
+ !if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
 !endif

  !if $(TCLINSTALL)
- _TCLBINDIR      = "$(_TCLDIR)\bin"
- TCLSH  = "$(_TCLBINDIR)\tclsh$(TCL_VERSION)$(SUFX).exe"
+ TCLSH  = "$(_TCLDIR)\tclsh$(TCL_VERSION)$(SUFX).exe"
  !if !exist($(TCLSH)) && $(TCL_THREADS)
- TCLSH           = "$(_TCLBINDIR)\tclsh$(TCL_VERSION)t$(SUFX).exe"
+ TCLSH           = "$(_TCLDIR)\bin\tclsh$(TCL_VERSION)t$(SUFX).exe"
  !endif

Open an x64_x86 Cross Tools Command Prompt as an administrator.

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26430.14
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

C:\Windows\System32>SET TCLDIR=c:\tcl866-src\tcl8.6.6

C:\Windows\System32>CD \tclvfs\win

C:\tclvfs\win>nmake.exe -f makefile.vc MACHINE=IX86

Microsoft (R) Program Maintenance Utility Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

====================================================================
*** Compiler has 'Optimizations'
*** Compiler does not have 'Pentium 0x0f fix'
*** Linker does not have 'Win98 alignment problem'
*** Intermediate directory will be '.\Release_VC13\vfs_ThreadedDynamic'
*** Output directory will be '.\Release_VC13'
*** Suffix for binaries will be ''
*** Optional defines are '-DTCL_CFGVAL_ENCODING=\"cp1252\" -DSTDC_HEADERS -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DUSE_THREAD_STORAGE=1 -DTCL_CFG_OPTIMIZED'
*** Compiler version 13. Target machine is IX86
*** Compiler options '-W3  -Ot -Oi -fp:strict -Gs -GS -GL  -RTC1 -W3'
*** Link options '-ltcg'
        rc -fo .\Release_VC13\vfs_ThreadedDynamic\tclvfs.res -r -i "..\generic" -D__WIN32__  -DCOMMAVERSION=1,4,0,0  -DDOTVERSION=\"1.4\"  -DVERSION=\"14\"  -d TCL_THREADS  ..\win\tclvfs.rc
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -DPACKAGE_NAME="\"vfs\""  -DPACKAGE_VERSION="\"1.4\""  -DBUILD_vfs -nologo -c -W3 -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -Fp.\Release_VC13\vfs_ThreadedDynamic\ -DUSE_TCL_STUBS  -Ot -Oi -fp:strict -Gs -GS -GL -MD -I"c:\tcl866-src\tcl8.6.6\generic" -I"c:\tcl866-src\tcl8.6.6\win" -I"..\win" -I"..\generic" -DTCL_CFGVAL_ENCODING=\"cp1252\" -DSTDC_HEADERS -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -DUSE_THREAD_STORAGE=1 -DTCL_CFG_OPTIMIZED -DBUILD_vfs -Fo.\Release_VC13\vfs_ThreadedDynamic\ @C:\Users\vortex\AppData\Local\Temp\nm193B.tmp
vfs.c
        link -nologo -machine:IX86 -ltcg -release -opt:ref -opt:icf,3 -dll -base:0x10A70000 -out:.\Release_VC13\vfs14.dll "c:\tcl866-src\tcl8.6.6\win\Release_VC13\tclstub86.lib" @C:\Users\vortex\AppData\Local\Temp\nm1C49.tmp
   Creating library .\Release_VC13\vfs14.lib and object .\Release_VC13\vfs14.exp
Generating code
Finished generating code
        if exist .\Release_VC13\vfs14.dll.manifest mt -nologo -manifest .\Release_VC13\vfs14.dll.manifest -outputresource:.\Release_VC13\vfs14.dll;2
        nmakehlp -s C:\Users\vortex\AppData\Local\Temp\nm1DD1.tmp ..\pkgIndex.tcl.in > .\Release_VC13\pkgIndex.tcl
        nmakehlp -s C:\Users\vortex\AppData\Local\Temp\nm1E20.tmp ..\library\vfs.tcl.in > .\Release_VC13\vfs.tcl

C:\tclvfs\win>MKDIR c:\progra~2\tcl\lib\vfs1.4

C:\tclvfs\win>MOVE ..\library\template c:\progra~2\tcl\lib\vfs1.4
        1 dir(s) moved.

C:\tclvfs\win>MOVE ..\library\*.tcl c:\progra~2\tcl\lib\vfs1.4
C:\tclvfs\library\ftpvfs.tcl
C:\tclvfs\library\httpvfs.tcl
C:\tclvfs\library\mk4vfs.tcl
C:\tclvfs\library\starkit.tcl
C:\tclvfs\library\tarvfs.tcl
C:\tclvfs\library\tclprocvfs.tcl
C:\tclvfs\library\testvfs.tcl
C:\tclvfs\library\tkvfs.tcl
C:\tclvfs\library\vfslib.tcl
C:\tclvfs\library\vfsUrl.tcl
C:\tclvfs\library\vfsUtils.tcl
C:\tclvfs\library\webdavvfs.tcl
C:\tclvfs\library\zipvfs.tcl
       13 file(s) moved.

C:\tclvfs\win>MOVE Release_VC13\*.dll c:\progra~2\tcl\lib\vfs1.4
C:\tclvfs\win\Release_VC13\vfs14.dll
        1 file(s) moved.

C:\tclvfs\win>MOVE Release_VC13\*.lib c:\progra~2\tcl\lib\vfs1.4
C:\tclvfs\win\Release_VC13\vfs14.lib
        1 file(s) moved.

C:\tclvfs\win>MOVE Release_VC13\*.tcl c:\progra~2\tcl\lib\vfs1.4
C:\tclvfs\win\Release_VC13\pkgIndex.tcl
C:\tclvfs\win\Release_VC13\vfs.tcl
        2 file(s) moved.

C:\tclvfs\win>

The first ftp address in examples\simpleExamples.tcl is no longer maintained,
you can try substituting 'ftp://ftp.belnet.be'. The file 'vfsTest.tcl' doesn't appear
to work and in the following it has been replaced by 'vfsTktest.tcl'.

The modified copy appears in the sidebar.

C:\tclvfs\win>CD %HOMEPATH%

C:\Users\Eric>tclsh86t.exe simpleExamples.tcl
(pwd is 'C:/Users/Eric', file volumes is 'C:/')
Adding ftp:// volume...
ftp.belnet.be listing
ftp://ftp.belnet.be/debian ftp://ftp.belnet.be/debian-cd ftp://ftp.belnet.be/mirror ftp://ftp.belnet.be/mirrors ftp://ftp.belnet.be/pub
----
(file volumes is 'ftp:// C:/')
Adding http:// volume...
Contents of <http://sourceforge.net/projects/tcl> web page
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved
(first 100 out of 171 characters)
----
(file volumes is 'ftp:// http:// C:/')
Mounting ftp://ftp.ucsd.edu/pub/alpha/ ...
(pwd is now 'C:/Users/Eric/localmount/tcl' which is effectively a transparent link to a remote ftp site)
Contents of remote directory is:
        Alphabugtest.sit
        MacOSprojects.tar.gz
        alphatk
        chanExec.patch
        defineclassbug.zip
        extensions
        iwidgets.diff.gz
        tclobjvfs.diff
        tclobjvfs.diff.gz
        tclvfs.diff
        test.txt
        tests.zip
        tip113.diff
        trace.diff.gz
        tracecmdexec.diff.gz
        tracecommand.patch.gz
        vfs.zip
        vfsTest.tcl
        vfsTktest.tcl
sourcing remote file 'vfsTktest.tcl', using 'source vfsTktest.tcl'
The vfs test file is being sourced
Done

C:\Users\Eric>EXIT


NB: Either closing the wish86t.exe window, or entering in the console Ctrl+C returns you
to the the prompt. Some coders copy wish86t.exe to wish.exe and/or to wish86.exe; you'll
need to copy tclsh86t.exe to tclsh86.exe to compile trf2.1.4.

NB: For an x64 build of OpenSSL one doesn't need to install NASM and the commands run would be:

C:\openssl-1.0.2l>perl.exe Configure VC-WIN64A --prefix=c:\progra~1\openssl
C:\openssl-1.0.2l>ms\do_win64a.bat
C:\openssl-1.0.2l>nmake.exe -f ms\ntdll.mak
C:\openssl-1.0.2l>nmake.exe -f ms\ntdll.mak install

https://github.com/Perl/perl5
perl5-blead.zip [patched 16-06-17 for VS 2017]
Updated: 25-09-2017

Use perl-5.26.1.tar.gz instead of the patched Makefile. [released 09-22]


Or as applied to the current perl stable release, perl-5.26.0, a patched Makefile.

Obviously, if you want to use that patched Makefile, save it with UNIX line endings.

I don't know if tabs might be an issue, this Internet log (blog) doesn't allocate for tabs.

NB: I think it wasn't documented why perl-blead needed to distinguish between
x86 and x64 library directories, whereas perl stable did not, what chnaged in the
perl code that required that.

Open an x64 Native Tools Command Prompt as an administrator.

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26430.12
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Windows\System32>CD \perl5-blead\win32

C:\perl5-blead\win32>nmake.exe -f Makefile

...

C:\perl5-blead\win32>nmake.exe test

All tests successful.

Test Summary Report
-------------------
../ext/IPC-Open3/t/IPC-Open3.t                                   (Wstat: 0 Tests: 45 Failed: 0)
  TODO passed:   25
Files=2584, Tests=1155327, 3845 wallclock secs (252.78 usr + 17.80 sys = 270.58 CPU)
Result: PASS
        cd ..\win32

C:\perl5-blead\win32>nmake.exe -f Makefile install

...

C:\perl5-blead\win32>EXIT

Add "C:\perl\bin" to your System Environment Variable PATH.

http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/win64/
nasm-2.13.01-installer-x64.exe

Run the above installer as an administrator.

Add "C:\Program Files\NASM" to your System Environment Variable PATH.

https://www.openssl.org/source/
openssl-1.0.2l.tar.gz

Try Igor Pavlov's 7-Zip (64-bit x64) for extraction.

Open an x64_x86 Cross Tools Command Prompt as an administrator.

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26430.14
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

C:\Windows\System32>CD \openssl-1.0.2l

C:\openssl-1.0.2l>perl.exe Configure VC-WIN32 --prefix=c:\progra~2\openssl

...

C:\openssl-1.0.2l>ms\do_ms.bat

...

C:\openssl-1.0.2l>ms\do_nasm.bat

...

C:\openssl-1.0.2l>nmake.exe -f ms\ntdll.mak

...

C:\openssl-1.0.2l>CD out32dll

C:\openssl-1.0.2l\out32dll>..\ms\test.bat

...
passed all tests

C:\openssl-1.0.2l\out32dll>CD ..

C:\openssl-1.0.2l>nmake.exe -f ms\ntdll.mak install

...

C:\openssl-1.0.2l>EXIT

Add "C:\Program Files (x86)\openssl\bin" to your System Environment Variable PATH.
bzip2-1.0.6.tar.gz

Try Igor Pavlov's 7-Zip (64-bit x64) for extraction.

https://github.com/nurmi-labs/bzip2-1.0.6
bzip2-1.0.6-master.zip

Add the git (Clone or download) .sln and .vcxproj files to the bzip2-1.0.6 directory.

Start the VS IDE and open the Project/Solution... file libbz2.sln, then from the IDE
menu's list box change from Debug to Release, and Build the Solution.

Close the IDE and open a Windows Command Prompt as an administrator.

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>CD \bzip2-1.0.6

C:\bzip2-1.0.6>MKDIR c:\progra~2\bzip2\bin

C:\bzip2-1.0.6>MOVE libbz2.dll c:\progra~2\bzip2\bin
        1 file(s) moved.

C:\bzip2-1.0.6>MKDIR c:\progra~2\bzip2\include

C:\bzip2-1.0.6>MOVE bzlib.h c:\progra~2\bzip2\include
        1 file(s) moved.

C:\bzip2-1.0.6>EXIT

 Add "C:\Program Files (x86)\bzip2\bin" to your System Environment Variable PATH.

http://zlib.net/
zlib1211.zip

https://github.com/nurmi-labs/zlib-1.2.11
zlilb-1.2.11-master.zip

Add the git (Clone or download) vc15 subdirectory to zlib-1.2.11/contrib/vstudio.

Start the VS IDE and open the Project/Solution... file vc15/zlibvc.sln, then from the IDE
menu's list box change from Debug to Release, and Build the Solution.

Close the IDE and open a Windows Command Prompt as an administrator.

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>CD \zlib1211\zlib-1.2.11

C:\zlib1211\zlib-1.2.11>SET ZLIBDIR=c:\progra~2\zlib

C:\zlib1211\zlib-1.2.11>MKDIR %ZLIBDIR%\bin

C:\zlib1211\zlib-1.2.11>MOVE contrib\vstudio\vc15\x86\ZlibDllRelease\zlibwapi.dll %ZLIBDIR%\bin
        1 file(s) moved.

C:\zlib1211\zlib-1.2.11>MKDIR %ZLIBDIR%\include

C:\zlib1211\zlib-1.2.11>MOVE zconf.h %ZLIBDIR%\include
        1 file(s) moved.

C:\zlib1211\zlib-1.2.11>MOVE zlib.h %ZLIBDIR%\include
        1 file(s) moved.

C:\zlib1211\zlib-1.2.11>EXIT

Add "C:\Program Files (x86)\zlib\bin" to your System Environment Variable PATH.

https://sourceforge.net/projects/tcltrf/
trf2.1.4.zip

Open a Windows Command Prompt as an administrator, copy the tclsh86t.exe and
wish86t.exe files, and the tcl8.6.6 private headers, and make some symbolic links.

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>CD \progra~2\tcl

C:\PROGRA~2\tcl>PUSHD bin

C:\PROGRA~2\tcl\bin>COPY tclsh86t.exe tclsh86.exe
        1 file(s) copied.

C:\PROGRA~2\tcl\bin>COPY wish86t.exe wish86.exe
        1 file(s) copied.

C:\PROGRA~2\tcl\bin>POPD

C:\PROGRA~2\tcl>MKDIR include\tcl-private\generic

C:\PROGRA~2\tcl>COPY \tcl8.6.6\generic\*.h include\tcl-private\generic

...

C:\PROGRA~2\tcl>MKDIR include\tcl-private\win

C:\PROGRA~2\tcl>COPY \tcl8.6.6\win\*.h include\tcl-private\win

...

C:\PROGRA~2\tcl>CD include\tcl-private\generic

C:\PROGRA~2\tcl\include\tcl-private\generic>DEL tcl.h tclDecls.h tclPlatDecls.h

C:\PROGRA~2\tcl\include\tcl-private\generic>mklink tcl.h ..\..\tcl.h
symbolic link created for tcl.h <<===>> ..\..\tcl.h

C:\PROGRA~2\tcl\include\tcl-private\generic>mklink tclDecls.h ..\..\tclDecls.h
symbolic link created for tclDecls.h <<===>> ..\..\tclDecls.h

C:\PROGRA~2\tcl\include\tcl-private\generic>mklink tclPlatDecls.h ..\..\tclPlatDecls.h
symbolic link created for tclPlatDecls.h <<===>> ..\..\tclPlatDecls.h

C:\PROGRA~2\tcl\include\tcl-private\generic>mklink tclWinInt.h ..\win\tclWinInt.h
symbolic link created for tclWinInt.h <<===>> ..\win\tclWinInt.h

C:\PROGRA~2\tcl\include\tcl-private\generic>mklink tclWinPort.h ..\win\tclWinPort.h
symbolic link created for tclWinPort.h <<===>> ..\win\tclWinPort.h

C:\PROGRA~2\tcl\include\tcl-private\generic>EXIT

Updated 01-08-2017

An /LTCG linker declaration needs to added to makefile.vc per the output of an earlier run of cl.exe (see below), and the alignment should be dealt with. The tcl8.6.6 (and tk8.6.6) makefile.vc files use
a link flag -nodefaultlib:libucrt.lib, add "baselibs    = $(baselibs) ucrt.lib" for _MSC_VER >= 1900, and an ALIGN98_HACK, the latter two being dependent on a rules.vc file.

See also: http://stevedower.id.au/blog/building-for-python-3-5/
http://stevedower.id.au/blog/building-for-python-3-5-part-two/

tclstub86.lib(tclStubLib.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance

https://github.com/nurmi-labs/tcldemo
tcldemo-master.zip

https://github.com/nurmi-labs/watcom-1.9.0

Precompiled awk.exe, diff.exe, rm.exe, sed.exe, and (w)grep.exe, from
a build of open_watcom_1.9.0, if you want to use these from tcl scripts.

https://github.com/nurmi-labs/watcom-2.0

Precompiled awk.exe, cat.exe, chmod.exe, cp.exe, crlf.exe
[crlf.exe foo foo.txt], diff.exe, egrep.exe, head.exe, sed.exe,
sleep.exe, sort.exe, tee.exe, tr.exe, uniq.exe, wc.exe, and
which.exe, from a build of open-watcom-v2-master.zip.

https://sourceforge.net/projects/tmake/files/tmake/2.12/
tmake-2.12.zip
tmake-2.12.tar.bz2

It might be worth taking a look at whether Trolltech's 'tmake' could be utilised
to generate watcom makefiles for some other UNIX utilities such as cmp.exe,
ls.exe, mv.exe, pwd.exe, tail.exe, and touch.exe.

http://wiki.tcl.tk/15632 [9P (Plan 9 Filesystem Protocol) VFS]
http://wiki.tcl.tk/2701 [Tcl IO Drivers]
http://wiki.tcl.tk/2466 [tclvfs]
http://wiki.tcl.tk/479 [trf]

Additional Trf functionality: tls1.6.7-src.tar.gz, trfcrypt2.0p3.zip

https://core.tcl.tk/tcltls/wiki/Download
tcltls-1.7.12.tar.gz [SSL encryption]

https://core.tcl.tk/tcltls/uvlist?byage=1
older version .zip files are here

http://www.oche.de/~akupries/soft/trfcrypt/index.html
trfcrypt2.0p3.zip [crypto-algorithms]

A Slackware-14.2 (32-bit) install of trf2.1.4.tar.gz, where I manually entered
the path to the OpenSSL headers in the Makefile (after running the configure
script) and modified tests/defs as follows passed all in tests/*.test files except
base64.test, common.all.test, and transform.test, outputting 'invalid command
name "memchan"', and skipping binio.test, as the command was not compiled
into the package.

-    package require Memchan
+    package require tcl::chan::memchan

The Msys2 project has a cvs package.

https://sourceforge.net/projects/msys2/files/REPOS/MSYS2/x86_64/
cvs-1.11.23-2-x86_64.pkg.tar.xz

And, likewise a tclvfs-cvs package, where the tclvfs module was checked
out from the CVS server, but configured without threads enabled.

https://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64/
mingw-w64-x86_64-tclvfs-cvs-20130425-3.src.tar.gz

27 April 2017

cvmfs

This post will be about the CernVM-FS.

http://cernvm.cern.ch/portal/filesystem

Proposed distro specific code changes to the GitHub repository.

https://github.com/cvmfs/cvmfs/tree/devel/cvmfs
cvmfs_config

sys_arch=$(uname)

case $sys_arch in
  Linux )
    if [ -x /sbin/service ]; then
      service="/sbin/service"
    elif [ -x /usr/sbin/service ]; then
      # Ubuntu
      service="/usr/sbin/service"
    elif [ -x /sbin/rc-service ] ; then
      # OpenRC
      service="/sbin/rc-service"
    elif [ -x /usr/bin/systemctl ] ; then
      # archlinux
      service="/usr/bin/systemctl"
    fi
    if [ -x /sbin/pidof ]; then
      pidof="/sbin/pidof"
    else
      # Ubuntu
      pidof="/bin/pidof"
    fi
-    if [ -x /sbin/fuser ]; then
+    if [ -x /bin/fuser ]; then
+      fuser="/bin/fuser"  # SuSE, Ubuntu
+    elif [ -x /sbin/fuser ]; then
      fuser="/sbin/fuser"  # RHEL
-    else
-      fuser="/bin/fuser"  # Ubuntu, SuSE
+    elif [ -x /usr/bin/fuser ]; then
+      fuser="/usr/bin/fuser"  # Slackware
    fi
    if [ -x /usr/bin/fusermount ]; then
      fusermount="/usr/bin/fusermount"  # RHEL, SuSE
    else
-      fusermount="/bin/fusermount"  # Ubuntu
+      fusermount="/bin/fusermount"  # Slackware, Ubuntu
    fi
    if [ ! -x /usr/bin/attr ]; then
      # Fedora
      if [ ! -x /bin/attr ]; then
        echo "attr utility required"
        exit 1
      fi
    fi
    fuse_fs_type="fuse"
    ;;

  Darwin )
    fuser="/usr/bin/fuser"
    fuse_fs_type="osxfusefs"
    ;;

  * )
    echo "Architecture $sys_arch is not supported"
    exit 1 ;;
esac

http://cvmfs.readthedocs.io/en/stable/cpt-squid.html

https://slackbuilds.org/repository/14.2/network/
squid-3.5.20.tar.xz
squid.tar.gz