2021-08-05 21:17:13 +02:00
|
|
|
#!/bin/sh
|
|
|
|
BIN=nnn-static
|
|
|
|
|
|
|
|
# Instalar paquetes básicos de desarrollo
|
|
|
|
doas xbps-install -Sy base-devel
|
|
|
|
|
|
|
|
# Crear directorio donde se gurdarán las bibliotecas estáticas para compilar nnn
|
|
|
|
if [ ! -d "/opt/nnn-libs" ]; then
|
|
|
|
doas mkdir /opt/nnn-libs
|
|
|
|
else
|
|
|
|
doas rm -vf /opt/nnn-libs/*
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Obtener netbsd-curses y compilar bibliotecas estáticas
|
|
|
|
[ ! -d "./netbsd-curses" ] && git clone https://github.com/sabotage-linux/netbsd-curses
|
2021-10-11 15:40:37 +02:00
|
|
|
cd netbsd-curses || exit
|
2021-08-05 21:17:13 +02:00
|
|
|
git checkout v0.3.2
|
|
|
|
make CC=gcc CFLAGS="-O3 -fPIC" LDFLAGS=-static all-static -j$(($(nproc)+1))
|
|
|
|
doas busybox.static cp libcurses/libcurses.a libterminfo/libterminfo.a /opt/nnn-libs/
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
# Compilar la biblioteca estática de musl-fts
|
|
|
|
[ ! -d "./musl-fts" ] && git clone https://github.com/void-linux/musl-fts --depth=1
|
2021-10-11 15:40:37 +02:00
|
|
|
cd musl-fts || exit
|
2021-08-05 21:17:13 +02:00
|
|
|
./bootstrap.sh
|
|
|
|
./configure
|
|
|
|
make CC=gcc CFLAGS=-O3 LDFLAGS=-static -j$(($(nproc)+1))
|
|
|
|
doas busybox.static cp .libs/libfts.a /opt/nnn-libs/
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
# Compilar nnn estáticamente
|
|
|
|
[ -e "./netbsd-curses" ] || rm "$BIN"
|
|
|
|
gcc -O3 -DNORL -DNOMOUSE -std=c11 -Wall -Wextra -Wshadow -I./netbsd-curses/libcurses -I./musl-fts -o "$BIN" \
|
|
|
|
src/nnn.c -Wl,-Bsymbolic-functions -lpthread -L/opt/nnn-libs -lcurses -lterminfo -lfts -static
|
|
|
|
|
|
|
|
# Despojar binario de símbolos de depuración
|
|
|
|
strip nnn-static
|
|
|
|
|
|
|
|
doas xbps-remove -Ry base-devel
|