The Brown Hats Software Depot: F' Around & Find Out!

Login | Register (Invite Only)

pagetelegram's Profile

Title: Page Telegram of Amfile.org

Description: Brown Hats Collective F' Around and Find Out user of the Interwebs and Project Developer for a Cause Toward Insuring a Future of Liberty without Illusion.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@=:---#@@@#%@@@*=+#@%====@@@@..:--@#====@-==#@@@+===#@%=-+@... -@@@@*@@@=+@%-*@
@@@.*@-.@@@.:@@==@:=@+ -..*@@@:# @:@=.=. #%.#@@@@ ::..@.%#.@@ %+ %@@% #@@-.@+ #@
@@@.*@+.@@@:.@@.#@%*@*.@.-*@@%@#.@.@=.%..#% *@@@@ %:+:+:@@=@@ #+ %@@+..@@= %: @@
@@@..-.=@@:* %@.%#=+@+..:@@@@@@*.@@@=..:@@@ %@%%% :.@@+-@:=#@ ...@@@:+ @@+ :- @@
@@@.+@@@@@.- =@.#@.-@*.@:=@@@@@+ @@@+:@-:@% @@*=@ @=%#+-@-.#@ @*.%@@.- #@=. + @@
@@@.+@@@@+.@..@:*%.*@*.@%.@@@@%- +@@=:@%.@@.%@:=@ @@=*#:@::@@ *# =@--% -@:- * @@
@@-::#@@%::+::*@-:=%@::.::@@@@+-::@*:.:::@::...%:::::#@*:==@#==@+:*.:=::%:-=::=@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#-.  .-#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.        .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-            :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:              .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:      .++:      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=     :@@@@@@-     -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#     =@@@@@@@@+     #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@:    =@@@@@@@@@@+    .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@#    .@@@@@@@@@@@@.    *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@.    %@@@@@@@@@@@@%.    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@%    -@@@@@@@@@@@@@@-    #@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@=    #@@@@@@@@@@@@@@%    -@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@.   .@@@@@@@@@@@@@@@@.   .@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@    -@@@@%##***#%@@@@+    %@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@*    %@#:..       .:+@%    *@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@=    =.               :    -@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@:                          .@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@.                          .@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@.       .=%@@@@@@@+:       .@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@#      .%@@@@@@@@@@@@@-      -@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@#     .*@@@@@@@@@@@@@@@@%:     -@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@%.    .@@@@@@*%@@@@%#@@@@@@=     *@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@.    :@@@@@@@@:-@@*.%@@@@@@@+     %@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@+    :@@@@@@@@@@---.@@@@@@@@@@=    :@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@.    @@@@@@@@@@@.   @@@@@@@@@@@:    #@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@=    #@@@+--#@@@@    #@@@@%#@@@@@.   .@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@.   :@%-     .%@@-  .@@@*.   .+@@=    #@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@#    *+.       .@@@#*@@@=       .#@    -@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@-   .#          =@@-.@@%.         +=   .@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@.   -@.          @@. %@:          #%    %@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@.   #@-          +%  =%          .@@.   *@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@%    %@%          :+  .+          +@@.   =@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@#    @@@:         .:  .-         .@@@:   -@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@*   .@@@%         #   .#         =@@@:   :@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@*   .@@@@=       -@    @-       .@@@@:   :@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@#    @@@@@.     .@@    @@.      %@@@@:   -@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@%    %@@@@@:   :@@@    @@@.   .*@@@@@.   =@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@.   #@@@@@@#+#@@@@    @@@@=.:%@@@@@@.   *@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@.   :@@@@@@-..:*@@    @@#-..:%@@@@@#    %@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@-   .@@@@@:     .@    @.     .@@@@@-   .@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@#    *@@@%       @.  .@       *@@@@    -@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@.   .@@@+       @-  .@.      -@@@=    #@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@+    +@@%.     .@*  :@-     .*@@%.   .@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@.    %@@@-    *@%  #@%.   :%@@@.    %@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@*    .@@@@%=-+@@@. @@@*--#@@@@-    -@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@:    .@@@@@@@@@@*=@@@@@@@@@@:     @@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@.    .%@@@@@@@@@@@@@@@@@@@-    .#@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@%.     +@@@@@@@@@@@@@@@@#.     +@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@%.     .+@@@@@@@@@@@@%:      +@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@%.       -*%@@@@@#=.      .*@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@:                      .%@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.                   +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.              .=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.        .-%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%###%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Repositories

Viewing: installArch_Inst.sh.txt

#!/usr/bin/fish

# Fish script to install RefPerSys on Arch-based Linux
# Date: August 18, 2025
# Requirements: Arch-based Linux, x86-64, 32 GB RAM, 128 GB disk space, sudo privileges

set -l REFPERSYS_TOPDIR "$HOME/work/RefPerSys"
set -l LOG_FILE "$HOME/refpersys_install.log"

# Function to log messages
function log_message
    echo $argv | tee -a $LOG_FILE
end

# Function to check if a command exists
function command_exists
    command -v $argv[1] >/dev/null 2>&1
end

# Function to handle errors
function handle_error
    log_message "Error: $argv[1]"
    log_message "Installation failed. Check $LOG_FILE for details."
    exit 1
end

# Initialize log file
echo "RefPerSys Installation Log - $(date)" > $LOG_FILE
log_message "Starting RefPerSys installation on Arch-based Linux"

# 1. Update the system
log_message "Updating system..."
sudo pacman -Syu --noconfirm || handle_error "Failed to update system"

# 2. Install core dependencies
log_message "Installing core dependencies..."
sudo pacman -S --noconfirm base-devel git gcc g++ clang make ninja cmake pkgconf \
    libunistring jsoncpp openssl readline glibmm gtkmm3 bison \
    ttf-dejavu ttf-liberation unp ttf-ubuntu-font-family ttf-roboto ttf-inconsolata \
    || handle_error "Failed to install core dependencies"

# Check GCC version
set gcc_version (gcc --version | head -n 1)
log_message "GCC version: $gcc_version"
if not string match -q "* 13.*" $gcc_version && not string match -q "* 14.*" $gcc_version
    log_message "Warning: GCC version 13 or 14 recommended. Current version may cause issues."
end

# 3. Install yay if not present (for AUR packages)
if not command_exists yay
    log_message "Installing yay AUR helper..."
    git clone https://aur.archlinux.org/yay.git /tmp/yay || handle_error "Failed to clone yay"
    cd /tmp/yay
    makepkg -si --noconfirm || handle_error "Failed to install yay"
    cd -
end

# 4. Install libbacktrace
log_message "Installing libbacktrace..."
if [ ! -d "/tmp/libbacktrace" ]
    git clone https://github.com/ianlancetaylor/libbacktrace.git /tmp/libbacktrace || handle_error "Failed to clone libbacktrace"
end
cd /tmp/libbacktrace
./configure || handle_error "Failed to configure libbacktrace"
make || handle_error "Failed to build libbacktrace"
sudo make install || handle_error "Failed to install libbacktrace"
sudo ldconfig || handle_error "Failed to update ldconfig"
cd -
log_message "libbacktrace installed successfully"

# 5. Install GNU lightning
log_message "Installing GNU lightning..."
if [ ! -d "/tmp/lightning" ]
    git clone https://git.savannah.gnu.org/git/lightning.git /tmp/lightning || handle_error "Failed to clone GNU lightning"
end
cd /tmp/lightning
./configure --with-gnu-ld --enable-disassembler --enable-devel-disassembler \
    --enable-devel-get-jit-size --disable-silent-rules CFLAGS='-O2 -g2' \
    || handle_error "Failed to configure GNU lightning"
make || handle_error "Failed to build GNU lightning"
sudo make install || handle_error "Failed to install GNU lightning"
sudo ldconfig || handle_error "Failed to update ldconfig"
cd -
log_message "GNU lightning installed successfully"

# 6. Prompt for libonion installation (optional for HTTP service)
read -l -P "Install libonion for HTTP service? (y/n) [n]: " install_libonion
if test "$install_libonion" = "y"
    log_message "Installing libonion..."
    if yay -S --noconfirm libonion
        log_message "libonion installed via AUR"
    else
        log_message "libonion not found in AUR, building from source..."
        if [ ! -d "/tmp/onion" ]
            git clone https://github.com/davidmoreno/onion.git /tmp/onion || handle_error "Failed to clone libonion"
        end
        cd /tmp/onion
        mkdir -p build
        cd build
        cmake .. || handle_error "Failed to configure libonion"
        make || handle_error "Failed to build libonion"
        sudo make install || handle_error "Failed to install libonion"
        sudo ldconfig || handle_error "Failed to update ldconfig"
        cd ../..
        log_message "libonion installed successfully"
    end
end

# 7. Prompt for FLTK installation (optional for GUI)
read -l -P "Install FLTK for GUI support? (y/n) [n]: " install_fltk
if test "$install_fltk" = "y"
    log_message "Installing FLTK..."
    if [ ! -d "/tmp/fltk" ]
        git clone https://github.com/fltk/fltk.git /tmp/fltk || handle_error "Failed to clone FLTK"
    end
    cd /tmp/fltk
    ./configure CFLAGS='-O2 -fPIC -g -Wall -Wextra' CXXFLAGS='-O2 -g -fPIC -Wall -Wextra' \
        --disable-static --enable-shared --enable-debug --with-abiversion \
        --with-optim='-g -O2 -fPIC' || handle_error "Failed to configure FLTK"
    make || handle_error "Failed to build FLTK"
    sudo make install || handle_error "Failed to install FLTK"
    sudo ldconfig || handle_error "Failed to update ldconfig"
    cd -
    log_message "FLTK installed successfully"
end

# 8. Clone RefPerSys repository
log_message "Cloning RefPerSys repository..."
mkdir -p (dirname $REFPERSYS_TOPDIR)
if [ ! -d "$REFPERSYS_TOPDIR" ]
    git clone https://github.com/RefPerSys/RefPerSys.git $REFPERSYS_TOPDIR || handle_error "Failed to clone RefPerSys"
end
cd $REFPERSYS_TOPDIR || handle_error "Failed to change to RefPerSys directory"

# 9. Set environment variables
log_message "Setting environment variables..."
set -x REFPERSYS_TOPDIR $REFPERSYS_TOPDIR
if not grep -q "REFPERSYS_TOPDIR" $HOME/.config/fish/config.fish
    echo "set -x REFPERSYS_TOPDIR $REFPERSYS_TOPDIR" >> $HOME/.config/fish/config.fish
end
mkdir -p $HOME/bin
if not grep -q "$HOME/bin" $HOME/.config/fish/config.fish
    echo "set -x PATH $HOME/bin \$PATH" >> $HOME/.config/fish/config.fish
end
source $HOME/.config/fish/config.fish || handle_error "Failed to source Fish config"

# 10. Configure and build RefPerSys
log_message "Configuring RefPerSys..."
make config || handle_error "Failed to configure RefPerSys"

log_message "Building RefPerSys..."
make -j4 refpersys || handle_error "Failed to build refpersys"
make all || handle_error "Failed to build all targets"

# 11. Create symbolic link for refpersys executable
log_message "Creating symbolic link for refpersys..."
ln -sf $REFPERSYS_TOPDIR/refpersys $HOME/bin/refpersys || handle_error "Failed to create symbolic link"

# 12. Verify installation
log_message "Verifying installation..."
if ./refpersys --version
    log_message "RefPerSys installed successfully!"
else
    handle_error "RefPerSys installation verification failed"
end

# 13. Provide post-installation instructions
log_message "Installation complete! To run RefPerSys, use:"
log_message "    refpersys"
if test "$install_libonion" = "y"
    log_message "To test HTTP service, open http://localhost:9090/ in a web browser."
end
log_message "For issues, check $LOG_FILE or contact basile@starynkevitch.net"
log_message "Note: Run 'make clean' after any 'git pull' and redo 'make config' if needed."

Language: FISH script