07 July 2025

flutter

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: android-studio-2025.1.1.13-linux.tar.gz,
google-chrome-stable_current_amd64.deb,
flutter_linux_3.32.5-stable.tar.xz

Installation of the flutter framework.

bash-5.1$ w3m -dump https://developer.android.com/studio/install \
> | sed -n '617,619p; 624,625p'
Here are the system requirements for Linux:

Requirement    Minimum                           Recommended
RAM            Studio: 8 GB                      32 GB RAM or more
               Studio & Emulator: 16GB
bash-5.1$ w3m -dump https://developer.android.com/studio/install | sed -n '671,680p'
Required libraries for 64-bit machines

If you are running a 64-bit version of Ubuntu, you need to install some 32-bit
libraries with the following command:

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386

If you are running 64-bit Fedora, the command is:

sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
bash-5.1$ grep MemTotal /proc/meminfo
MemTotal: 3913176 kB
bash-5.1$ free -h | awk -v OFS='\t' 'NR==3{print $1, $2}'
Swap:   8.0Gi
bash-5.1$


The hardware limitations do not allocate for installing the emulator.

bash-5.1$ sed -n '6,19p' /var/lib/sbopkg/SBo/15.0/system/wine/README.MULTILIB
https://docs.slackware.com/slackware:multilib
http://www.slackware.com/~alien/multilib/

A script that rsyncs with alienBOB's repo and installs the multilib
packages which can be found here:
https://slackware.uk/~dive/scripts/alien-multilib-rsync.sh

Be sure to read the short instructions at the top. If you use slackpkg
then you will also want to blacklist his packages in
/etc/slackpkg/blacklist:

[0-9]+alien
[0-9]+compat32
bash-5.1$ w3m -dump http://www.slackware.com/~alien/multilib/README | sed -n '186,190p'
Slackware 15.0 is the last release that needs separate (alien's) multilib
versions of gcc and glibc.
On August 30, 2024, Pat Volkerding added multilib capability to Slackware's
own gcc and glibc packages. What you still need to add to your system is
the collection of -compat32 packages.
bash-5.1$


https://gcc.gnu.org/install/configure.html

The multilib (alien's) gcc will pass the --hash-style=gnu option to the linker for all final links.

The slackware-current gcc is not configured with the option --with-linker-hash-style=choice.

bash-5.1# mkdir -p /dest/slackware64-15.0/extra/google-chrome
bash-5.1# rsync -aqvP --delete-after \
> rsync://mirrors.dotsrc.org/slackware/slackware64-15.0/extra/google-chrome/ \
> /dest/slackware64-15.0/extra/google-chrome
bash-5.1# cp -r /dest/slackware64-15.0/extra/google-chrome/ /tmp
bash-5.1# cd /tmp && mv google-chrome-stable_current_amd64.deb google-chrome
bash-5.1#


Use a local rsync url from the list of available mirrors.

http://slackbuilds.org/repository/15.0/libraries/libmd/
libmd.tar.gz
libmd-1.1.0.tar.xz

http://slackbuilds.org/repository/15.0/libraries/libbsd/
libbsd.tar.gz
libbsd-0.12.2.tar.xz

https://slackbuilds.org/repository/15.0/development/android-studio/
android-studio.tar.gz

https://developer.android.com/studio
android-studio-2025.1.1.13-linux.tar.gz

Generate and install the google-chrome and libmd packages.

bash-5.1# cd google-chrome && ./google-chrome.SlackBuild

...

bash-5.1# cd ../libmd && ./libmd.SlackBuild

...

bash-5.1# cd ..
bash-5.1# installpkg --terse google-chrome-138.0.7204.92-x86_64-1.txz
google-chrome-138.0.7204.92-x86_64-1: Google Chrome web browser
............................................................................................... [ 368M]
bash-5.1# installpkg --terse libmd-1.1.0-x86_64-1_SBo.tgz
libmd-1.1.0-x86_64-1_SBo: Message Digest functions from BSD systems
........................................................................................... [ 170K]
bash-5.1#


Update the android-studio .SlackBuild script.

bash-5.1# sed -i "s/2024.3.2.15/2025.1.1.13/g" \
> android-studio/android-studio.SlackBuild
bash-5.1#


Generate and install the libbsd and android-studio packages.

bash-5.1# cd libbsd && ./libbsd.SlackBuild

...

bash-5.1# cd ../android-studio && ./android-studio.SlackBuild

...

bash-5.1# cd ..
bash-5.1# installpkg --terse libbsd-0.12.2-x86_64-1_SBo.tgz
libbsd-0.12.2-x86_64-1_SBo: library of BSD functions
.......................................................................................................... [ 900K]
bash-5.1# installpkg --terse android-studio-2025.1.1.13-x86_64-1_SBo.tgz
android-studio-2025.1.1.13-x86_64-1_SBo: Android Studio IDE
................................................................................................... [ 3.2G]
bash-5.1#


cmdline-tools component is missing

The cmdline-tools were installed via the Android Studio IDE.

bash-5.1$ mkdir ~/develop
bash-5.1$ tar xf ~/Downloads/flutter_linux_3.32.5-stable.tar.xz -C ~/develop/
bash-5.1$ export CHROME_EXECUTABLE=/opt/google/chrome/chrome && flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
Flutter (Channel stable, 3.32.5, on Slackware 15.0 x86_64 5.15.161, locale da_DK.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2025.1.1)
[✓] Connected device (2 available)
[✓] Network resources

• No issues found!
bash-5.1$


Add the JetBrains Runtime bin directory to your $PATH if you intend to run the cmdline-tools.

bash-5.1$ export PATH="/opt/android-studio/jbr/bin:$PATH"
bash-5.1$ ~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager \
> --list_installed | grep cmdline-tools
  cmdline-tools;latest | 19.0    | Android SDK Command-line Tools (latest) | cmdline-tools/latest
bash-5.1$


https://slakfinder.org/slackpkg+.html

This is zerouno's plugin for Slackware's own slackpkg.

[   ] [   ]


bash-5.1$ w3m -dump https://dotsrc.org/mirrors/ | sed -n '40,50p
rsync over TLS

rsync does by itself not support TLS, but we can simply outsource TLS handling
to the openssl s_client. The rsync authors have made a short script to do
exactly that. This is how you use it to get a listing from our server:

wget https://download.samba.org/pub/rsync/openssl-rsync
chmod +x openssl-rsync
rsync --rsh=./openssl-rsync rsync://mirrors.dotsrc.org

It is wise to read the script before executing it blindly.
bash-5.1$ lynx -dump https://dotsrc.org/mirrors/ | sed -n '83,86p'
  16. http://mirrors.dotsrc.org/
  17. https://mirrors.dotsrc.org/
  18. ftp://mirrors.dotsrc.org/
  19. http://dotsrccccbidkzg7oc7oj4ugxrlfbt64qebyunxbrgqhxiwj3nl6vcad.onion/
bash-5.1$ w3m -dump https://dotsrc.org/sponsors/ | sed -n '17p; 20,35p'
Aalborg University

The university is one of our oldest supports. Since the beginning they have
been providing us housing for the servers and backup.

This is just a short list of things the university has provided:

  • Housing
  • Backup
  • A new news server
  • A new mirror server
  • Switches
  • Server rack
  • Cables, converters, all kinds of small indispensable things.
  • Generally being extremely nice people

Website: aau.dk
bash-5.1$

03 July 2025

dart

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: dartsdk-windows-x64-release.zip

Disabling dart analytics.

https://dart.dev/get-dart/archive
dartsdk-windows-x64-release.zip

Create these user files prior to first running the dart executable, debugging and performance tools.

PS C:\Users\eric> pushd $env:APPDATA
PS C:\Users\eric\AppData\Roaming> [void](ni -ItemType Directory -Path dart-tool)
PS C:\Users\eric\AppData\Roaming> [void](ni -ItemType Directory -Path flutter-devtools)
PS C:\Users\eric\AppData\Roaming> @"
>> reporting=0
>> dart-tool=$(Get-Date -Format yyyy-MM-dd),1
>> devtools=$(Get-Date -Format yyyy-MM-dd),1
>> "@ > dart-tool\dart-flutter-telemetry.config
PS C:\Users\eric\AppData\Roaming> @'
>> {
>>  "analyticsEnabled": false,
>>  "isFirstRun": false
>> }
>> '@ > flutter-devtools\.devtools
PS C:\Users\eric\AppData\Roaming> popd
PS C:\Users\eric>

[   ] [   ]


DevTools

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.

[   ] [   ]