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.

Android Studio

The RAM requirements for Linux.

Studio: 8 GB
Studio & Emulator: 16GB

If you're running 64-bit you need to install some 32-bit libraries.

bzip2
ncurses
zlib

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.

I haven't installed the 32-bit libraries as it's unclear if they're only used for multilib app builds.

Here's how to install Google Chrome on Slackware.

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

https://libbsd.freedesktop.org/releases/
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 ..
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# cd libmd && ./libmd.SlackBuild

...

bash-5.1# cd ..
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 libbsd and android-studio .SlackBuild scrpts.

bash-5.1# sed -i "s/0.11.7/0.12.2/g" libbsd/libbsd.SlackBuild
bash-5.1# sed -i '88,90d' libbsd/libbsd.SlackBuild
bash-5.1# rm -r libbsd/patches
bash-5.1# sed -i -e "s/2024/2025/g" -e \
> "s/3.2.15/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 ..
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# cd android-studio && ./android-studio.SlackBuild

...

bash-5.1# cd ..
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$ 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 | cut -d "|" -f1,2
[=======================================] 100% Fetch remote repository...
Installed packages:
  Path                        | Version
  -------                        | -------
  build-tools;36.0.0      | 36.0.0
  cmdline-tools;latest  | 19.0
  emulator                  | 35.6.11
  platform-tools           | 36.0.0
  platforms;android-36 | 2
  sources;android-36   | 1

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.

[   ] [   ]