21 June 2025

fossil

System: Slackware Linux (version 15.0)
CPUs: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
GPU: Mesa DRI Intel(R) HD Graphics 4000
Deps: fossil-src-2.26.tar.gz

Installation of fossil.

http://slackbuilds.org/repository/15.0/development/fossil/
fossil.tar.gz

https://fossil-scm.org/home/uv/download.html
fossil-src-2.26.tar.gz

Upgrade the version number in the .SlackBuild.

bash-5.1# sed -i 's/2.17/2.26/g' fossil/*.SlackBuild
bash-5.1# cd fossil && ./*.SlackBuild

...

bash-5.1# cd .. && installpkg fossil-2.26-x86_64-1_SBo.tgz

...

bash-5.1#

Clone and compute a diff between two artifacts of a repository.

bash-5.1$ fossil clone https://core.tcl-lang.org/bwidget bwidget.fossil &> /dev/null
bash-5.1$ fossil fdiff a051b4affc 9bb4c3f5ba -R bwidget.fossil
--- a051b4affc
+++ 9bb4c3f5ba
@@ -204,11 +204,11 @@
         configure {
             set font [lindex $args 0]
             set args [lrange $args 1 end]
         }
         default {
-            return -code error "XLFDfont: commande incorrect: $cmd"
+            return -code error "XLFDfont: command incorrect: $cmd"
          }
     }
     set lfont [split $font "-"]
     if { [llength $lfont] != 15 } {
          return -code error "XLFDfont: description XLFD incorrect: $font"
@@ -219,11 +219,11 @@
             -foundry { set index 1 }
             -family  { set index 2 }
             -weight  { set index 3 }
             -slant   { set index 4 }
             -size    { set index 7 }
-            default  { return -code error "XLFDfont: option incorrecte: $option" }
+            default  { return -code error "XLFDfont: option incorrect: $option" }
         }
          set lfont [lreplace $lfont $index $index $value]
     }
     return [join $lfont "-"]
  }
bash-5.1$

Git, Fossil and Hg are distributed as opposed to SVN which is based on a Client-Server model.



FAQ

10 June 2025

iconv

System: Slackware Linux (version 15.0)
CPUs: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
GPU: Mesa DRI Intel(R) HD Graphics 4000

The use of iconv to convert a file's character encoding.

bash-5.1$ mv R-description-short.txt R-description-short.bak
bash-5.1$ iconv -f ISO_8859-1 -t UTF-8 < R-description-short.bak > R-description-short.txt
bash-5.1$ mv gpgKeys.txt gpgKeys.bak
bash-5.1$ iconv -f ISO_8859-1 -t ASCII//TRANSLIT < gpgKeys.bak > gpgKeys.txt
bash-5.1$ file gpgKeys.txt
gpgKeys.txt: ASCII text
bash-5.1$ rm R-description-short.bak gpgKeys.bak
bash-5.1$

The former was bilingual and the latter had an umlaut in the spelling of Zurich.

[   ]


short
Setting up and signing GPG keys

08 June 2025

svn

System: Slackware Linux (version 15.0)
CPUs: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
GPU: Mesa DRI Intel(R) HD Graphics 4000

Help system.

bash-5.1$ svn help | sed -n '3p'
Type 'svn help <subcommand>' for help on a specific subcommand.
bash-5.1$ svn help | grep checkout
  checkout (co)
bash-5.1$ svn help checkout | grep quiet
  -q [--quiet]              : print nothing, or only summary information
bash-5.1$

Fixed strings.

bash-5.1$ svn log --diff -r r84150 R | sed -n '82,92p'
--- R/src/include/R_ext/QuartzDevice.h (revision 84149)
+++ R/src/include/R_ext/QuartzDevice.h (revision 84150)
@@ -202,7 +202,7 @@
     void*  (*GetParameter)(QuartzDesc_t desc, const char *key);
 } QuartzFunctions_t;

-#define QuartzParam_EmbeddingFlags "embeddeding flags" /* value: int[1] */
+#define QuartzParam_EmbeddingFlags "embedding flags" /* value: int[1] */
 #define QP_Flags_CFLoop 0x0001  /* drives application event loop */
 #define QP_Flags_Cocoa  0x0002  /* Cocoa is fully initialized */
 #define QP_Flags_Front  0x0004  /* is front application */
bash-5.1$ svn log --diff -r r84246 R | sed -n '641,653p'
--- R/src/main/util.c   (revision 84245)
+++ R/src/main/util.c   (revision 84246)
@@ -2340,8 +2340,8 @@
     { "strength", 999 },
     { "primary ", UCOL_PRIMARY },
     { "secondary ", UCOL_SECONDARY },
-    { "teritary ", UCOL_TERTIARY },
-    { "guaternary ", UCOL_QUATERNARY },
+    { "tertiary ", UCOL_TERTIARY },
+    { "quaternary ", UCOL_QUATERNARY },
     { "identical ", UCOL_IDENTICAL },
     { "french_collation", UCOL_FRENCH_COLLATION },
     { "on", UCOL_ON },
bash-5.1$
[   ]

st

System: Slackware Linux (version 15.0)
CPUs: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
GPU: Mesa DRI Intel(R) HD Graphics 4000
Deps: st-0.9.2.tar.gz

A simple terminal implementation for X.

Modify PREFIX in config.mk as follows.

- PREFIX = /usr/local
+ PREFIX = ~/.local

bash-5.1$ cd st-0.9.2
bash-5.1$ make clean install
rm -f st st.o x.o st-0.9.2.tar.gz
cp config.def.h config.h
c99 -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.9.2\" -D_XOPEN_SOURCE=600 -O1 -c st.c
c99 -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.9.2\" -D_XOPEN_SOURCE=600 -O1 -c x.c
c99 -o st st.o x.o -L/usr/X11R6/lib -lm -lrt -lX11 -lutil -lXft `pkg-config --libs fontconfig` `pkg-config --libs freetype2`
mkdir -p ~/.local/bin
cp -f st ~/.local/bin
chmod 755 ~/.local/bin/st
mkdir -p ~/.local/share/man/man1
sed "s/VERSION/0.9.2/g" < st.1 > ~/.local/share/man/man1/st.1
chmod 644 ~/.local/share/man/man1/st.1
tic -sx st.info
7 entries written to /home/eric/.terminfo
Please see the README file regarding the terminfo entry of st.
bash-5.1$ strip --strip-unneeded ~/.local/bin/st
bash-5.1$ gzip -n9 ~/.local/share/man/man1/st.1
bash-5.1$

To change the foreground and background colours edit config.def.h.

      "#555555",
+    "#eeeeee",
+    "#114488",

[   ]


FAQ

18 October 2024

claire

System: Microsoft Windows 10 Home Edition
CPUs: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
GPU: Mesa DRI Intel(R) HD Graphics 4000
Deps: go1.24.3.windows-amd64.zip

Y. Caseau's claire uses Go as its target language.

https://go.dev/doc/install

This is beta as of January 3, 2025.

Use a system installed Go.

In PowerShell from $home run these commands after cloning the repository.

    •  New-Item -ItemType Directory -Name "go"
    •  Move-Item CLAIRE4\init.cl go
    •  Move-Item CLAIRE4\src go
    •  Set-Location go
    •  $env:GO111MODULE = "off"
    •  go build src\claire4.go

You should then have a claire4.exe file in the current directory.

[   ] [   ]

01 August 2024

devtools

System: Slackware Linux (version 15.0)
CPUs: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
GPU: Mesa DRI Intel(R) HD Graphics 4000
Deps: R-4.4.1.tar.xz, libgit2-1.8.1.tar.gz

Installation of the devtools package.

http://slackbuilds.org/repository/15.0/libraries/libgit2/

bash-5.1# installpkg libgit2-1.8.1-x86_64-1_SBo.tgz

....

bash-5.1#

The above library is a dependency for the gert package.

$ R -q
> install.packages("devtools", quiet = TRUE) also installing the dependencies ‘Rcpp’, ‘utf8’, ‘askpass’, ‘credentials’, ‘sys’, ‘zip’, ‘gitcreds’, ‘ini’, ‘fastmap’, ‘httpuv’, ‘mime’, ‘xtable’, ‘sourcetools’, ‘later’, ‘promises’, ‘base64enc’, ‘jquerylib’, ‘sass’, ‘fansi’, ‘systemfonts’, ‘textshaping’, ‘tinytex’, ‘xfun’, ‘pillar’, ‘pkgconfig’, ‘highr’, ‘diffobj’, ‘rematch2’, ‘clipr’, ‘crayon’, ‘curl’, ‘gert’, ‘gh’, ‘glue’, ‘jsonlite’, ‘purrr’, ‘rappdirs’, ‘rprojroot’, ‘rstudioapi’, ‘whisker’, ‘yaml’, ‘R6’, ‘cachem’, ‘shiny’, ‘htmltools’, ‘callr’, ‘processx’, ‘bslib’, ‘digest’, ‘downlit’, ‘fontawesome’, ‘httr2’, ‘openssl’, ‘ragg’, ‘rmarkdown’, ‘tibble’, ‘xml2’, ‘htmlwidgets’, ‘stringr’, ‘vctrs’, ‘prettyunits’, ‘xopen’, ‘brew’, ‘commonmark’, ‘knitr’, ‘stringi’, ‘cpp11’, ‘brio’, ‘evaluate’, ‘magrittr’, ‘praise’, ‘ps’, ‘waldo’, ‘usethis’, ‘cli’, ‘desc’, ‘ellipsis’, ‘fs’, ‘lifecycle’, ‘memoise’, ‘miniUI’, ‘pkgbuild’, ‘pkgdown’, ‘pkgload’, ‘profvis’, ‘rcmdcheck’, ‘remotes’, ‘rlang’, ‘roxygen2’, ‘rversions’, ‘sessioninfo’, ‘testthat’, ‘urlchecker’, ‘withr’

Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
> quit()
Save workspace image? [y/n/c]: n
$

[   ]



The install provides devtools::build_readme() for updating a README.md from a README.Rmd file.

11 March 2024

sprites

System: Slackware Linux (version 15.0)
CPUs: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
GPU: Mesa DRI Intel(R) HD Graphics 4000

ImageMagick can be used to generate a sprite, e.g. from three 32 x 32 PNG files.

bash-5.1$ convert *.png +append sprite.png
bash-5.1$

The CSS background-positon property can then be used to display the images.

bash-5.1$ cd /tmp
bash-5.1$ git clone -q https://github.com/varehus/homepage.git
bash-5.1$

[   ]



See the previous Post to run on localhost.